【SpringBoot】二:自动配置

SpringBoot的自动配置能根据添加的依赖自动配置应用,如添加Mysql依赖后,若无手动配置,SpringBoot会自动配置DataSource。@EnableAutoConfiguration或@SpringBootApplication启用自动配置。@Import用于导入额外配置类,@AutoConfigurationImportSelector从spring.factories读取自动配置类列表。@AutoConfiguration是增强的@Configuration,用于自动配置类并支持配置顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.自动配置类

Spring Boot的自动装配机制会试图根据你所添加的依赖来自动配置你的Spring应用程序。

例如,如果你添加了Mysql依赖,而且你没有手动配置任何DataSource Bean,那么SpringBoot就会自动配置内存数据库。

你需要将 @EnableAutoConfiguration 或 @SpringBootApplication 注解添加到你的@Configuration 类中,从而开启自动配置功能。

例如之前ssm中使用Mybatis框架

<bean id="dataSource" class="xxxx.DruidDataSource">
  <property name="url" value="jdbc:mysql://localhost:3306/db"/>
  <property name="username" value="root">
</bean>
<bean id="sqlSessionFactory" class="xxx.SqlSessionFactory">
  <property name="dataSource" ref="dataSource"/>
</bean>

现在我们只需开启自动配置即可。
从类路径中,搜索相关的jar,根据jar的内容,尝试创建所需的对象,如果有mybatis.jar,尝试创建DataSource(根据配置文件中的url, username, password)连接数据库,还需要创建SqlSessionFactory, Dao接口的代理对象。这些开放人员不需要写一行代码,就能使用MyBatis框架了。

在这里插入图片描述

2. @Import

可以用来导入额外的配置类。

3. @AutoConfigurationImportSelector

AutoConfigurationImportSelector 间接实现了 ImportSelector 接口,导入自动配置类
自动配置从 jar 的指定文件读取要加载的配置类列表

自动配置类列表:(xxx.imports)
在这里插入图片描述

Spring Boot 之前的版本(2.7)读取 spring.factories 文件。 保留 spring.factories 为了向后兼
在这里插入图片描述
执行流程:
(Mybatis的自动配置类 XXXAutoConfiguration.class)
在这里插入图片描述
(MybatisProperties.class)
在这里插入图片描述
在这里插入图片描述

4. @AutoConfiguration

  • 新的注解@AutoConfiguration,用在自动配置类的上面。相当于增强的@Configuration,专注自动配置类。
  • @AutoConfiguration 还支持通过 after、afterNames、before 和 benameames 属性进行自动配置排序,决定多个自动配置类执行先后顺序.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值