我们都知道多个Bean加载是按照代码顺序来的。BeanA下载BeanB前面,那么BeanA是会有在BeanB前面示例化的。
代码语言:javascript复制@Slf4j
@Configuration
public class Dependon {
@Bean
public String getString1(){
log.info("getString1 执行了");
return "A";
}
@Bean
public String getString2(){
log.info("getString2 执行了");
return "A";
}
}
代码语言:javascript复制2022-10-28 14:59:52.256 INFO 18065 --- [ main] com.zanglikun.entity.Dependon : getString1 执行了
2022-10-28 14:59:52.259 INFO 18065 --- [ main] com.zanglikun.entity.Dependon : getString2 执行了
如果你想要BeanB优先与BeanA加载,可以考虑@DependOn注解
代码语言:javascript复制@Slf4j
@Configuration
public class Dependon {
@Bean
@DependsOn(value = {"getString2"})
public String getString1(){
log.info("getString1 执行了");
return "A";
}
@Bean
public String getString2(){
log.info("getString2 执行了");
return "A";
}
}
代码语言:javascript复制2022-10-28 15:01:00.738 INFO 18127 --- [ main] com.zanglikun.entity.Dependon : getString2 执行了
2022-10-28 15:01:00.740 INFO 18127 --- [ main] com.zanglikun.entity.Dependon : getString1 执行了
一般Spring会帮我们排序。我们无需关注,但是我们需要了解此注解。
特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!