1、Spring工具类
2、spring.xml注册文件配置bean
3、线程中调用
public class SpringApplicationContextHolder implements ApplicationContextAware {
private static ApplicationContext context;
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException {
SpringApplicationContextHolder.context = context;
}
public static Object getSpringBean(String beanName) {
if (null == beanName || 0 == beanName.length()) {
throw new IllegalArgumentException("beanName is required!");
}
return context == null ? null : context.getBean(beanName);
}
public static String[] getBeanDefinitionNames() {
return context.getBeanDefinitionNames();
}
}
2、spring.xml注册文件配置bean
<bean id="springApplicationContextHolder" class="com.cnpc.pmsapp.commons.utils.SpringApplicationContextHolder" />
<bean id="dailyReportService" class="com.cnpc.pmsapp.dailyreport.service.impl.DailyReportServiceImpl" />
3、线程中调用
IDailyReportService dailyReportService = (IDailyReportService) SpringApplicationContextHolder
.getSpringBean("dailyReportService");
String filePath = dailyReportService.createDailyReportExcel();
本文介绍了一个Spring工具类SpringApplicationContextHolder的实现方式,该工具类用于获取Spring容器中的bean实例。通过配置spring.xml文件注册工具类,并在业务代码中通过工具类获取所需的service实例,实现了灵活地使用Spring管理的对象。
344

被折叠的 条评论
为什么被折叠?



