Spring Boot 的自动配置 和 起步依赖

Spring Boot 的自动配置特性正是为了简化传统 Spring 框架(如 SSM 框架)中繁琐的 XML 配置或注解配置而设计的。以下是 Spring Boot 自动配置与传统 SSM 框架配置的一些对比:

1.自动配置Spring Boot通过 @EnableAutoConfiguration 或 @SpringBootApplication 注解Spring Boot 会根据项目中引入的依赖自动配置 Bean。如,如果项目中包含了 spring-boot-starter-web,Spring Boot 会自动配置 Tomcat 和 Spring MVC。

SSM:在传统的 SSM(Spring + SpringMVC + MyBatis)框架中,你需要手动编写配置文件(XML 或注解),明确指定每个 Bean 的创建、装配和配置。 

2.配置文件Spring Boot虽然 Spring Boot 可以自动配置,但它仍然允许通过 application.properties 或 application.yml 文件进行配置。这些配置文件用于覆盖自动配置的默认值或提供额外的配置。

SSM:在 SSM 框架中,配置文件是必需的,用于定义数据源、事务管理、SpringMVC 配置等

总的来说,Spring Boot 的自动配置是为了提高开发效率和简化配置流程,而 SSM 框架则提供了更多的手动配置选项,适合那些需要精细控制的场景。随着 Spring Boot 的流行,许多传统的 SSM 项目也被迁移到 Spring Boot,以利用其自动配置和简化的配置管理。

非常好的例子:

 比如说在以前想要整合一个mybatis,我们要先在pom文件里写入mybatis的依赖,然后在配置文件applicationContext.xml文件里声明两个bean对象SqlSessionFactoryBean和MapperScannerConfigurer。只有把两个bean对象声明好了,整个spring的mybatis才算完成了,非常麻烦。

而在spring boot中我们只需要写好mybatis的起步依赖starter,SqlSessionFactoryBean和MapperScannerConfigurer这两个bean对象就在起步依赖里自带着,我们就不需要再在配置文件里写相关的配置了,这就是自动配置

还有提到的起步依赖,起步依赖其实就是一个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因为可以自动读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值