👨💻作者:大二计算机学生
🏠主页:悄咪咪的关注小周 (●’◡’●)
📌关键:Spring Boot
企业开发
框架
🔊学习:[订阅 Spring Boot 专栏🚥]
大家好,我是小周,周棋洛的周,Spring Boot
框架对于Java程序员至关重要,因此我把自己学习这个框架的笔记进行整理写成专栏,简洁易懂保姆级专栏,文章会不断修补完善,有喜欢的小伙伴可以订阅学习呀┗|`O′|┛ 嗷~~ 如果觉得文章写的不错,三联支持可怜的博主呀 ⭐🌟
1. 写在前面
2. 依赖管理
上一节,使用Spring Boot完成了Hello World的响应,还记得父级POM吗?
追进去,发现还有一个父级
再进去,发现几乎声明了所有开发中常用的依赖的版本号
所以我们引入依赖时,无需关注版本号,因为父项中已经被定义过了
注意,默认mysql版本是8,如果我想要使用5版本该怎么办呢?
很简单,重写就好了,这时候就会优先使用当前的配置,类似面向对象中的重写。
3. starter
spring-boot-starter-* 为我们提供的简化开发的场景启动器。比如,开发web应用引入了spring-boot-starter-web
这个场景启动器,而他里面配置了Tomcat,Json等等web开发相关的依赖
根据Maven依赖传递特性,最终的效果如下:
4. 自动配置
我们使用Spring Boot进行web开发时,没有使用自己的Tomcat,而是引入了一个starter,叫spring-boot-starter-web
,这个starter里默认引入了Tomcat,但是我们并没有配置,是Spring Boot的自动配置帮我们完成的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.4.RELEASE</version>
<scope>compile</scope>
</dependency>
不仅如此,SpringMVC也自动配置了,字符乱码处理也是,无需以前的包扫描配置,默认主程序所在包及其下面的所有子包里面的组件会被默认扫描进来,要改变扫描路径,可以使用@SpringBootApplication(scanBasePackages="com.liu")
修改,或者使用@ComponentScan
注解指定扫描路径
@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.liu")
单个@SpringBootApplicationComments 可用于启用这三个功能,即:
@EnableAutoConfiguration:启用Spring Boot 的自动配置机制
@ComponentScan:对应用程序所在的软件包启用@Component扫描
@Configuration:允许在上下文中注册额外的 bean 或导入其他配置类
@SpringBootApplicationComments 等效于将@Configuration,@EnableAutoConfiguration和@ComponentScan及其默认属性一起使用,
各种配置都有默认值,配置文件的值最终会绑定每个类上,这个类会在容器中创建对象,Spring Boot 会按需加载所有自动配置项,引入了哪些场景这个场景的自动配置才会开启,SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面。
5. 写在最后
大家好,我是小周,周棋洛的周,Spring Boot
框架对于Java程序员至关重要,因此我把自己学习这个框架的笔记进行整理写成专栏,简洁易懂保姆级专栏,文章会不断修补完善,有喜欢的小伙伴可以订阅学习呀┗|`O′|┛ 嗷~~ 如果觉得文章写的不错,三联支持可怜的博主呀 ⭐🌟