您的位置:首页 > 编程语言 > Java开发

Spring Boot的普通类调用Bean对象

2018-02-02 23:19 405 查看

Spring Boot的普通类调用Bean对象

有时候需要在一些工具类中调用到Spring管理的bean对象的一些方法。

代码如下

/**
* 导入处理接口
* @author Thinkpad
*
*/
public class ResourceImportServiceImpl implements HxlsOptRowsInterface {

private static ApplicationContext applicationContext;//启动类set入,调用下面set方法

public static void setApplicationContext(ApplicationContext context) {
applicationContext = context;
}
//省略部分代码
}


在普通类中定义 ApplicationContext 静态变量和set方法。

Spring boot的启动类:

public class SampleWebFreeMarkerApplication  extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SampleWebFreeMarkerApplication.class);
}

public static void main(String[] args) throws Exception {
ConfigurableApplicationContext  applicationContext = SpringApplication.run(SampleWebFreeMarkerApplication.class, args);
ResourceImportServiceImpl.setApplicationContext(applicationContext);
}

}


ConfigurableApplicationContext 是 ApplicationContext 接口的实现,这里直接传到普通类的 setApplicationContext 方法。

这样就可以获取自己想要的接口,不会报空指针异常了。

GogoResourceService gogoResourceService = applicationContext.getBean(GogoResourceService.class);
gogoResourceService.insertSelective(gogoResource);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: