我在springboot项目中用了Component来修饰CustomLicenseManager类这个类同时继承了ApplicationContextAware接口类里我使用Autowired private ApplicationContext ctx;自动注入应用上下文但是为什么我在debug的时候第一次进入setApplicationContextApplicationContext ap
可能是因为你的CustomLicenseManager类被实例化了多次,每次实例化都会调用setApplicationContext方法,而每个实例的ctx都是独立的。所以第一次进入setApplicationContext方法时,ctx有值,但是第二次进入时,是另一个实例,所以ctx为null。
解决方法是将CustomLicenseManager类改为单例模式,确保只有一个实例。可以在@Component注解中添加@Scope("singleton")来指定单例模式。
原文地址: http://www.cveoy.top/t/topic/bCwX 著作权归作者所有。请勿转载和采集!