1、order注解(不一定有效)
org.springframework.core.annotation.order
2、dependson注解(有效)
org.springframework.context.annotation.dependson
3、提前将bean注册为beandefinition
1、实现beandefinitionregistrypostprocessor,将userservice注册
public class mybeandefinitionregistrypostprocessor implements beandefinitionregistrypostprocessor {
@override
public void postprocessbeandefinitionregistry(beandefinitionregistry registry) throws beansexception {
abstractbeandefinition beandefinition = beandefinitionbuilder.genericbeandefinition().getbeandefinition();
beandefinition.setbeanclass(userservice.class);
registry.registerbeandefinition("userservice", beandefinition);
}
}2、加入上下文中
public class myapplicationcontextinitializer implements applicationcontextinitializer {
@override
public void initialize(configurableapplicationcontext applicationcontext) {
applicationcontext.addbeanfactorypostprocessor(new mybeandefinitionregistrypostprocessor());
}
}3、配置扫描生效,在resources下创建mate-inf文件夹,在mate-inf文件夹下创建spring.factories文件,然后加入下面的配置
org.springframework.context.applicationcontextinitializer=com.example.springbootshutdown.myapplicationcontextinitializer org.springframework.beans.factory.support.beandefinitionregistrypostprocessor
到此这篇关于springboot控制bean的创建顺序的文章就介绍到这了,更多相关springboot bean创建顺序内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论