启动时添加
@SpringBootApplication
public class MyApplication {
public static ConfigurableApplicationContext context;
public static void main(String[] args) {
MesApplication.context = SpringApplication.run(MyApplication.class, args);
}
}
注入
@Component
public class MySpringBean<T> implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
MySpringBean.applicationContext = applicationContext;
}
public static <T> T getBean(Class<T> clazz) {
return applicationContext != null?applicationContext.getBean(clazz):null;
}
public static Object getBeanByString(String beanName) throws BeansException {
return applicationContext.getBean(beanName);
}
}