网上有2中方式,都没法解决我的问题,
第一: (这个网上有例子)
@Component public class AAA { private static BBB bbb; @Autowired public AAA(BBB bbb) { AAA.bbb= bbb; } public static void work() { bbb.work(); } }
第二:(这个网上有例子)
@Component public class AAA { private static BBB bbb; @Autowired private BBB tbbb; @PostConstruct public void init() { AAA.bbb = tbbb; } public static void work() { bbb.work(); } }
然而我发现我的内部静态方法根本没用:
第三种:然后用下面这种方式:
@Component public class AutoWiredToStatic { private static AutoWiredToStatic instance; @Autowired private ApplicationContext applicationContext; @PostConstruct public void registerInstance() { instance = this; } public static <T> T getBean(Class<T> clazz) { return instance.applicationContext.getBean(clazz); } }
