Spring Boot 的自动配置 和 起步依赖
Spring Boot 的自动配置 和 起步依赖
Spring Boot的自动配置特性是其广受欢迎的重要原因之一。它通过智能分析项目依赖,自动完成许多繁琐的配置工作,大大简化了开发流程。本文将通过对比传统SSM框架,深入解析Spring Boot的自动配置机制及其带来的便利。
自动配置对比
Spring Boot的自动配置特性正是为了简化传统Spring框架(如SSM框架)中繁琐的XML配置或注解配置而设计的。以下是Spring Boot自动配置与传统SSM框架配置的一些对比:
自动配置:Spring Boot通过
@EnableAutoConfiguration
或@SpringBootApplication
注解,Spring Boot会根据项目中引入的依赖自动配置Bean。例如,如果项目中包含了spring-boot-starter-web
,Spring Boot会自动配置Tomcat和Spring MVC。配置文件:虽然Spring Boot可以自动配置,但它仍然允许通过
application.properties
或application.yml
文件进行配置。这些配置文件用于覆盖自动配置的默认值或提供额外的配置。
起步依赖
起步依赖其实就是一个Maven坐标,是把完成某一功能的所有坐标都整合到一起。所以起步依赖不仅仅是一堆库的集合,它们还可能包含自动配置的Bean对象。Spring Boot的自动配置机制会根据你添加的起步依赖自动配置相应的Bean,这样你就可以直接使用这些Bean而不需要手动进行配置。
Bean的扫描
在之前呢,我们需要在xml配置文件中写component-scan,扫描我们的controller和service等,而在springboot里,我们发现没有这个写这个扫描一样可以正常运行,那是为毛呢?
实际上是因为我们springboot启动类里的@SpringBootApplication注解,这个注解内置了我们的这个ComponentScan注解,所以我们就不需要自己手动写Bean的扫描相关配置了。
当然这个扫描只能扫描和这个启动类在同一个包下的文件,如果在包外就需要在启动类加上@ComponentScan(basePackages = "com.xxxx.xxxx")来主动扫描一下。
信息的读取
在之前我们写好Mysql的信息需要在配置文件里写这个DataSource来读取信息。
而在springboot里,我们在配置文件里写完了Mysql信息,也不用写相关配置文件读取信息了,与i因为可以自动读取。
总的来说,Spring Boot的自动配置是为了提高开发效率和简化配置流程,而SSM框架则提供了更多的手动配置选项,适合那些需要精细控制的场景。随着Spring Boot的流行,许多传统的SSM项目也被迁移到Spring Boot,以利用其自动配置和简化的配置管理。