解决springboot启动时获取实列(无法注入)问题
2019-10-12 本文已影响0人
自由主义者
@SpringBootApplication
public class OpenplatformApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(OpenplatformApplication.class, args);
SpringBeanUtils.setContext(context);
DappKindService dappKindService = SpringBeanUtils.getBean(DappKindService.class);
dappKindService.findValidAllKind();
}
package com.cesgroup.coin.openplatform.util;
import org.springframework.context.ApplicationContext;
/**
* createTime: 2019-07-23 17:56
*
**/
public class SpringBeanUtils {
private static volatile ApplicationContext context;
public static void setContext(ApplicationContext applicationContext) {
SpringBeanUtils.context = applicationContext;
}
//通过name获取 Bean.
public static Object getBean(String name) {
return context.getBean(name);
}
//通过class获取Bean.
public static <T> T getBean(Class<T> clazz) {
return context.getBean(clazz);
}
//通过name,以及Clazz返回指定的Bean
public static <T> T getBean(String name, Class<T> clazz) {
return context.getBean(name, clazz);
}
}