springboot AutoConfigureAfter控制Bean的注入顺序方法详解
这个文章主要介绍一下@AutoConfigureAfter在spring框架中的作用,在使用过程中,很多开发人员在使用它的时候都出现了问题,问题比较多的就是它们的注册顺序总不是我们预期的,下面介绍一下正常的使用方法。
- @AutoConfigureAfter用在配置类上面,即需要在@Configuration修饰的类上,而不是@Component上面。
- 这些配置类,需要在spring.factories上面进行注册
- @AutoConfigureAfter影响的是配置类中@Bean声明的方法,而不是配置类本身
代码测试
祖父配置
@Configuration
@AutoConfigureBefore(Father.class) // 在我儿子Father之前,我GrandFather先初始化
public class GrandFather {
@Bean
public String grandFatherBean() {
System.out.println("配置類GrandFatherConfig構造器被執行...");
return null;
}
}父亲配置
@Configuration
public class Father {
@Bean
public String fatherTest() {
System.out.println("配置類FatherConfig構造器被執行");
return "配置類FatherConfig構造器被執行...";
}
}儿子配置
@Configuration
@AutoConfigureAfter(Father.class) // 在爸爸之初始化
public class Son {
@Bean
public String SonBean() {
System.out.println("配置類SonConfig構造器被執行...");
return null;
}
}spring.factories配置相关
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.lind.common.bean.family.Father,\ com.lind.common.bean.family.GrandFather,\ com.lind.common.bean.family.Son
springboot启动后,可以看到截,这些bean在初始化时,使用了正确的可预期的顺序进行注册

到此这篇关于springboot AutoConfigureAfter如何控制Bean的注入顺序的文章就介绍到这了,更多相关springboot Bean注入顺序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
本篇向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用的。需要的朋友跟随脚本之家小编一起学习吧2018-01-01
MyBatis-Plus使用sl4j日志打印SQL的代码详解
以下是关于使用 Spring Boot 起始器替换 slf4j-api 和 logback 依赖的详细步骤和注意事项,包括 MyBatis-Plus 的默认日志级别信息,需要的朋友可以参考下2024-10-10
解决IDEA修改 .vmoptions 文件后导致无法启动的问题
这篇文章主要介绍了解决IDEA修改 .vmoptions 文件后导致无法启动的问题,需要的朋友可以参考下2020-12-12
vue用CryptoJS加密,java用CryptoUtil解密
CryptoJS是一个JavaScript库,提供了一系列密码学函数和工具,用于加密、解密、生成摘要等任务,本文vue前端使用CryptoJS加密,java后端使用CryptoUtil解密2024-09-09


最新评论