主要封装一些获取 bean 的方法,代码如下:
@Component
public class SpringUtils implements ApplicationContextAware {
/**
* 上下文对象实例
*/
private static ApplicationContext context = null;
@Override
@Autowired
public void setApplicationContext(@NotNull ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
log.info("Inject applicationContext succeeded");
}
public static ApplicationContext getApplicationContext() {
if (context == null) {
throw new IllegalArgumentException("ApplicationContext wasn't injected");
}
return context;
}
}
在其他 bean 的构造方法里面调用SpringUtils.getApplicationContext
。
奇怪的是,在 idea 启动正常,打包部署的时候就会抛错IllegalArgumentException
。
网上一推解法都试过了,都没用。 请求大佬支援。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.