今天小编给大家分享一下spring或spring boot怎么调整bean加载顺序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
spring 或者spring boot 调整bean 的加载顺序
接下来讲解三种调整类加载顺序的方式:
1、使用@Order调整配置类加载顺序
@Configuration @Order(1) public class ConfigA { @Bean public ServiceA serviceA(){ System.out.println("ConfigA 执行"); return new ServiceA(); } } @Configuration @Order(2) public class ConfigB { @Bean public ServiceB serviceB(){ System.out.println("ConfigB 执行"); return new ServiceB(); } }
2、使用@Order调整配置类加载顺序
@Configuration public class Config { @Bean @Order(1) public CListener bListener(){ return new CListener(); } @Bean @Order(2) public DListener dListener(){ return new DListener(); } }
3、实现ordered 接口:
public class AListener implements ApplicationListener<ContextRefreshedEvent>, Ordered { private CuratorManagerComponent curatorManagerComponent; @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { logger.info("AListener 执行了。"); } @Override public int getorder() { return HIGHEST_PRECEDENCE; } } public class BListener implements ApplicationListener<ContextRefreshedEvent>, Ordered { private CuratorManagerComponent curatorManagerComponent; @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { logger.info("BListener 执行了。"); } @Override public int getorder() { return HIGHEST_PRECEDENCE + 2; } } @Configuration public class Config { @Bean public BListener bListener(){ return new BListener(); } @Bean public AListener aListener(){ return new AListener(); } }
对于实现ordered方式, 的需要在 getorder 返回数值, 数值越小说明优先级越高。
以上就是“spring或spring boot怎么调整bean加载顺序”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程之家行业资讯频道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。