怎么制作网站主题,郑州推出vip服务,佛山搜索seo优化排名,ps图做ppt模板下载网站spring boot 开发中#xff0c;经常用到 Autowired 注入某些服务#xff0c;但有时发现注入的服务为null。原因很简单#xff0c;因为服务生成是有先后顺序的。当要注入的服务还没有生成时#xff0c;自然为null。 解决的方法#xff1a;通过getBean 手工获取服务。
1、定…spring boot 开发中经常用到 Autowired 注入某些服务但有时发现注入的服务为null。原因很简单因为服务生成是有先后顺序的。当要注入的服务还没有生成时自然为null。 解决的方法通过getBean 手工获取服务。
1、定义 保存所有bean 的类 import org.springframework.context.ConfigurableApplicationContext;public class ApplicationContextUtil {public static ConfigurableApplicationContext context;public static Object getBean(String name){if(null context) return null;return context.getBean(name);}}2、在服务运行的入口处
public static void main(String[] args) {ApplicationContextUtil.context SpringApplication.run(WsApplication.class, args);}
3、检测到服务为null 时 手工获取 Autowiredprivate MessageHandle messageHandle;if(messageHandlenull) messageHandle ApplicationContextUtil.context.getBean(MessageHandle.class);