当前位置: 首页 > news >正文

SpringBoot3

文章目录

    • 一、为什么要学习SpringBoot
    • 二、SpringBoot介绍
      • 2.1 约定优于配置
      • 2.2 SpringBoot中的约定
    • 三、SpringBoot快速入门
      • 3.1 快速构建SpringBoot
        • 3.1.1 选择构建项目的类型
        • 3.1.2 项目的描述
        • 3.1.3 指定SpringBoot版本和需要的依赖
        • 3.1.4 导入依赖
        • 3.1.5 编写了Controller
        • 3.1.6 测试
      • 3.2 SpringBoot的目录结构
        • 3.2.1 pom.xml文件
        • 3.2.2 .gitignore文件
        • 3.2.3 src目录
      • 3.3 SpringBoot三种启动方式
        • 3.3.1 运行启动类的main方法
        • 3.3.2 maven命令
        • 3.3.3 采用jar包的方式运行
        • 3.3.5 采用war包的方式运行
    • 四、SpringBoot常用注解
      • 4.1 @Configuration和@Bean
    • 五、SpringBoot常用配置
      • 5.1 SpringBoot的配置文件格式
      • 5.2 多环境配置
      • 5.4 热加载
        • 5.4.1 导入依赖
        • 5.4.2 settings配置
        • 5.4.3 重新构建工程
    • 六、SpringBoot整合Mybatis
      • 6.1 xml方式整合Mybatis
        • 6.1.1 导入依赖。
        • 6.1.2 编写配置文件
        • 6.1.3 准备Mybatis
        • 6.1.4 测试。
      • 6.2 注解方式整合Mybatis
        • 6.2.1 创建District的Mapper接口
        • 6.2.2 添加Mybatis注解
        • 6.2.3 添加配置
        • 6.2.4 测试,查看日志
      • SpringBoot整合Druid连接池
        • 1、导入依赖
        • 2、YML配置
        • 3、访问管理页面
      • 6.3 SpringBoot整合MyBatis-Plus
        • 6.3.1 导入依赖
        • 6.3.2 yml配置
        • 6.3.3开启dao层扫描
        • 6.3.4 注解
        • 6.3.5 开启分页
        • 6.3.6 测试
        • 6.3.7事务控制
    • SpringBoot整合AOP
      • 1、导入依赖
      • 2、定义切面
    • 七、SpringBoot提供视图支持
        • 7.1 JSP视图
        • 7.1.1 需要导入依赖
        • 7.1.2 创建JSP页面
        • 7.1.3 创建Contorller
        • 7.1.4 配置前缀和后缀
      • 7.2 Thymeleaf视图
        • 7.2.1 依赖
        • 7.2.2 yml配置
        • 7.2.3 使用thymeleaf
        • 7.2.4 修改html模板
        • 7.2.5 thymeleaf其他属性
        • 7.2.6 分页 (page.html)
        • 7.2.7 包含
    • 八、SpringBoot静态资源处理
    • 九、SpringBoot自定义静态资源处理
    • 十、页面跳转
    • 十一、拦截器
    • 十二、SpringBoot全局异常处理
      • 出现异常响应页面
      • 出现异常响应JSON数据
    • 十三、SpringBoot读取属性文件
      • 配置文件
      • 使用@Value注解读取
      • 使用Environment读取
      • 读取自定义属性文件
        • 定义配置文件
        • 主启动类加载配置文件
    • 十四、RestTemplate
      • 异步提交
      • 表单提交
      • 地址栏传值
    • 十五 、控制层统一返回格式
      • 1、定义返回数据的结构
      • 2、定义常用返回结果的枚举
      • 3、定义返回统一结果类
      • 4、接口使用
    • 十六、SpringBoot配置FastJSON转换器
      • 1、导入依赖
      • 2、配置FastJSON转换器
      • 3、根据注解信息实现自定义转换
    • 十七、SpringBoot条件注解
      • @Conditional注解
      • @Conditional的扩展注解
      • @ConditionalOnClass
      • @ConditionalOnMissingClass
      • @ConditionalOnBean
      • @ConditionalOnMissingBean
    • 十八、函数式Web编程
      • 实现函数式路由
      • 实现处理函数
      • 实践与应用
    • 十九、GraalVM原生镜像
      • 什么是 GraalVM
      • 核心特性
      • GraalVM能干什么
      • 安装GrralVM
        • 1、下载GraalVM
        • 2、修改JDK的环境变量
      • 安装 Visual Studio
        • 1、下载Visual Studio
        • 2、安装
        • 3、验证是否安装成功
      • 打包win镜像文件
        • 1、准备一个标准的boot项目
        • 2、POM中引入打包文件
        • 3、打开native-image进入到项目的classpath目录下面
        • 4、输入打包命令
    • 二十、SpringBoot自动装配机制
      • 什么是自动装配
      • 自动装配的优势
      • starter机制
        • 1、引入依赖
      • 自动装配机制
        • @SpringBootApplication
        • @SpringBootConfiguration
        • @ComponentScan
        • @EnableAutoConfiguration
      • 总结
      • 自定义starter
        • 1、新建一个maven工程
        • 2、定义属性读取类
        • 3、定义自动装配类
        • 4、定义spring.factories文件
        • 4、创建一个新的项目,引入自定义starter
        • 5、使用starter中的bean
        • 6、配置属性
        • 7、测试

一、为什么要学习SpringBoot

开发项目的时候(JavaEE)仅仅使用Spring逐渐变得很笨重,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,在SpringBoot中这些问题都变的非常简单。

二、SpringBoot介绍

Spring Boot是由Pivotal团队提供的全新[框架](https://so.csdn.net/so/search?q=框架&spm=1001.2101.3001.7020),其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring Boot默认配置了很多框架的使用方式,就像 Maven整合了所有的Jar包,Spring Boot整合了所有的框架。它的核心设计思想是∶约定优于配置,Spring Boot所有开发细节都是依据此思想进行实现的。

相关文章:

SpringBoot3

文章目录 一、为什么要学习SpringBoot二、SpringBoot介绍2.1 约定优于配置2.2 SpringBoot中的约定三、SpringBoot快速入门3.1 快速构建SpringBoot3.1.1 选择构建项目的类型3.1.2 项目的描述3.1.3 指定SpringBoot版本和需要的依赖3.1.4 导入依赖3.1.5 编写了Controller3.1.6 测试…...

【Text2SQL】领域优质论文分享

解读论文:Enhancing Few-shot Text-to-SQL Capabilities of Large Language Models: A Study on Prompt Design Strategies 1. 重要贡献 这篇论文的主要贡献在于提出了一种新的方法来增强大型语言模型(LLMs)在少量样本(Few-shot…...

2024全国研究生数学建模竞赛(数学建模研赛)ABCDEF题深度建模+全解全析+完整文章

全国研究生数学建模竞赛(数学建模研赛)于9月21日8时正式开赛,赛程4天半,咱这边会在开赛后第一时间给出对今年的6道赛题的评价、分析和解答。包括ABCDEF题深度建模全解全析完整文章,详情可以点击底部的卡片来获取哦。 …...

Java项目中异常处理的最佳实践

1. 异常分类 首先,理解异常的不同类型是合理处理异常的基础。Java中的异常大致可以分为两大类: 受检异常(Checked Exceptions):这些异常必须被捕获或声明抛出,例如IOException。非受检异常(Un…...

CSS基本概念以及CSS的多种引入方式

CSS基本概念 CSS是层叠样式表,又叫级联样式表,简称样式表。CSS的文件后缀为.css,CSS用于HTML文档中元素样式的定义。 CSS的基本语法 CSS的规则由2个主要的部分构成:选择器以及一条或者多条声明。 选测器通常是你血药改变样式的…...

TiDB 简单集群部署拓扑文件

TiDB集群部署 服务器环境部署拓扑 都2024了还在为分库分表烦恼吗😘,用分布式数据库TiDB、OceanBase、华为 GaussDB,你就使劲往里存数据。 早下班、少脱发、脱单! 🙏🏻🙏🏻&#x1f6…...

十三 系统架构设计(考点篇)

1 软件架构的概念 一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件 的外部可见属性以及它们之间的相互关系。 体系结构并非可运行软件。确切地说,它是一种表达,使软件工程师能够: (1)分…...

Java-数据结构-二叉树-习题(三)  ̄へ ̄

文本目录: ❄️一、习题一(前序遍历非递归): ▶ 思路: ▶ 代码: ❄️二、习题二(中序遍历非递归): ▶ 思路: ▶ 代码: ❄️三、习题三(后序遍历非递归): ▶ 思路: …...

SpringBoot+Aop+注解方式 实现多数据源动态切换

整体思路: 引入基本依赖SpringBootAopMySqlMyBatislombok在配置文件中配置多个数据源创建数据源配置类用于读取配置编写用于标识切换数据源的注解创建数据源切换工具类DataSourceContextHolder编写切面类用于在注解生效处切换数据源编写配置类,加载数据…...

企业如何高效应对多类型知识产权事务的复杂挑战?

随着企业的发展和创新活动的不断推进,越来越多的企业拥有了大量的专利、商标和软著等知识产权,这些不仅关乎企业的技术创新成果,更直接影响到企业的品牌价值和市场竞争力。然而,当企业拥有多件知识产权时,复杂的申请、…...

openeuler22.03 LTS 源码编译安装nginx1.22.1

openeuler22.03 LTS 源码编译安装nginx1.22.1 下载安装包 #官网下载nginx1.22.1 wget http://nginx.org/download/nginx-1.22.1.tar.gz安装依赖包 #安装依赖包,NGINX是C语言写的,pcre-devel支持正则表达式,openssl 开启加密 [rootproxy ~]…...

图片压缩工具免费怎么找?归纳了这几个压缩工具

有哪些图片压缩工具免费?在数字化时代,图像已成为我们生活中不可或缺的一部分。无论是网站设计、社交媒体分享还是文件传输,高质量的图片都扮演着重要的角色。但高质量往往意味着大文件体积,这可能会导致加载速度变慢或存储空间不…...

【Kubernetes知识点】解读HPA的 thrashing(抖动)问题

【Kubernetes知识点】解读HPA的 thrashing(抖动)问题 目录 1 概念 1.1 什么是 Thrashing 现象?1.2 HPA 中 Thrashing 产生的原因1.3 解决 Thrashing 的优化措施 1.3.1 设置合适的阈值1.3.2 使用自定义指标和基于负载的自动扩缩1.3.3 增加扩…...

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 目录 Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 一、简单介绍 二、装饰者模式(Decorator Pattern) 1、什么时候使用装…...

Linux上Qt安装相关的内容及在QtCreator使用QChart模块需要的配置

引言 下面是Ubuntu上Qt安装相关的内容及在QtCreator使用QChart模块需要的配置。 关于Qt安装及环境 Qt的模块 查看已经安装的模块 sudo apt search qt5-安装新的模块 sudo apt install qt5-svg # 安装Qt SVG模块3.查看qt已经安装了哪些模块 dpkg -l | grep libqt安装qt,…...

lettuce引起的Redis command timeout异常

项目使用Lettuce,在自己的环境下跑是没有问题的。在给客户做售前压测时,因为客户端环境比较恶劣,service服务和中间件服务不在同一机房。服务启动后不一会就会出现Redis command timeout异常。 经过差不多两周的追查,最后没办法把…...

【Hadoop】一、Hadoop入门:基础配置、集群配置、常用脚本

基础设置 网络设置 创建好一个 centos 虚拟机,修改网络配置文件: /etc/sysconfig/network-scripts/ifcfg-ens33修改 BOOTPROTO 为 static 以及添加 IPADDR、GATEWAY、DNS1 TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY&quo…...

Ollama:本地运行大模型【含UI界面】

文章目录 Ollama 简介安装 ollamaWindows 安装Docker 安装其它平台安装支持的模型模型清单模型参数与运行内存快速启动 llama 模型llama 模型介绍运行 llama3.1 模型通过 HTTP API 访问ollama 命令语法常用示例特别示例自定义模型创建 Modelfile创建模型并运行集成 Web 页面Ope…...

【论文阅读】Grounding Language with Visual Affordances over Unstructured Data

Abstract 最近的研究表明,大型语言模型(llms)可以应用于将自然语言应用于各种各样的机器人技能。然而,在实践中,学习多任务、语言条件机器人技能通常需要大规模的数据收集和频繁的人为干预来重置环境或帮助纠正当前的…...

目标检测:滑块验证

最近在做一些爬虫相关的任务,有时候在登录时候需要去做滑块验证,刚好自己是做AI这一块得,就想着使用目标检测去做检测,然后绕过滑块。...

效率提升:用快马AI一键生成医院预约系统的核心排班管理代码

医院预约系统开发笔记:如何用AI快速搞定排班管理模块 最近在开发一个医院预约系统,发现排班管理模块特别费时间。传统的开发方式需要手动编写大量重复性代码,从数据库设计到API接口,再到各种业务逻辑校验,一个完整的排…...

省钱方案:用NAT主机+Frpc实现高速内网穿透(避坑指南)

低成本内网穿透实战:NAT主机与Frpc的高效组合方案 引言:为什么选择NAT主机Frpc方案? 对于需要远程访问家庭NAS、搭建私有云盘或部署开发测试环境的用户来说,内网穿透是刚需。传统方案要么成本高昂(独立IP服务器&#x…...

摒弃固定显示界面,程序根据使用场景,自动切换显示界面(简洁版/详细版),适配不同需求。

一、 实际应用场景描述 (Scenario)假设你正在开发一台高精度光谱分析仪。这台设备有三种典型的使用者:1. 研发工程师(R&D):在实验室调试光路和算法。他们需要看到原始 ADC 值、温度漂移曲线、信噪比等详细数据。2. 质检员&…...

COMSOL实现煤层注气THM耦合的甲烷开采效果模拟与可视化分析

一、COMSOL实现煤层注气热力流THM耦合下增强甲烷开采 本案例采用热力流三场耦合,分析煤层注入CO2增强甲烷开采效果,涉及热-流-固数学模型、多气相介质作用,全部为PDE模块 二、可以出煤层温度、瓦斯含量、渗透率等许多云图及数据,仅…...

ClickHouse配置优化实战:关键参数详解与性能调优指南

1. ClickHouse配置优化的核心逻辑 ClickHouse作为一款高性能的OLAP数据库,其配置优化需要遵循三个黄金法则:资源隔离、瓶颈定位和场景适配。我见过太多团队一上来就盲目调整参数,结果反而导致性能下降。正确的做法应该是先理解系统行为&#…...

保姆级教程:用PHPStudy+红日靶场复现一次完整的内网渗透(从外网打到域控)

从零构建内网渗透实战:PHPStudy环境下的红日靶场攻防演练 在网络安全领域,内网渗透测试是检验企业防御体系完整性的重要手段。本文将带领读者使用常见的PHPStudy环境搭建红日靶场,通过模拟真实攻击路径,从外网Web渗透逐步深入内网…...

Visio高效安装与激活全攻略:从零开始到成功运行

1. Visio安装前的准备工作 第一次安装Visio的朋友们,我强烈建议先做好这些准备工作。我自己在帮同事安装Visio时,经常遇到因为前期准备不足导致安装失败的情况。首先,检查你的电脑是否已经安装了其他版本的Office软件。如果之前安装过Office …...

3分钟解锁暗黑破坏神2完整体验:PlugY插件终极指南 [特殊字符]

3分钟解锁暗黑破坏神2完整体验:PlugY插件终极指南 🎮 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神2单机模式的种种限制而…...

OpCore-Simplify:从3天手动调试到3步智能配置,黑苹果配置的自动化革命

OpCore-Simplify:从3天手动调试到3步智能配置,黑苹果配置的自动化革命 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 想象一下…...

从零开始:在Unity中完美实现视频播放功能的完整指南(附常见报错解决方案)

从零开始:在Unity中完美实现视频播放功能的完整指南(附常见报错解决方案) 在游戏开发中,视频播放功能的应用场景越来越广泛——从开场动画、过场剧情到UI背景,视频元素能为玩家带来更丰富的视听体验。Unity作为主流的…...