Java 普通类实现spring bean的自定装载
来源:互联网 发布:衣服尾货处理知乎 编辑:程序博客网 时间:2024/06/07 01:03
工作需要做一个定时器,但无法实现spring bean的装载,总是报空指针。
写一个SpringContextUtils类实现ApplicationContextAware接口实现。Spring 提供了ApplicationContextAware类,通过它可以获取所有bean上下文。
import java.util.Map;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;/** * 获取ApplicationContext和Object的工具类 * @author yzl * */@SuppressWarnings({ "rawtypes", "unchecked" })public class SpringContextUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; public void setApplicationContext(ApplicationContext arg0) throws BeansException { applicationContext = arg0; } /** * 获取applicationContext对象 * @return */ public static ApplicationContext getApplicationContext(){ return applicationContext; } /** * 根据bean的id来查找对象 * @param id * @return */ public static Object getBeanById(String id){ return applicationContext.getBean(id); } /** * 根据bean的class来查找对象 * @param c * @return */ public static Object getBeanByClass(Class c){ return applicationContext.getBean(c); } /** * 根据bean的class来查找所有的对象(包括子类) * @param c * @return */ public static Map getBeansByClass(Class c){ return applicationContext.getBeansOfType(c); }}
在spring的xml文件中配置
<!--Spring中bean获取的工具类--> <bean id="springContextUtils" class="com.travelsky.szky.cts.task.SpringContextUtils" />
然后手动装载
CounterInfoDao counterInfoDao = (CounterInfoDao)SpringContextUtils.getBean("counterInfoDao");
非web项目可以用ClassPathXmlApplicationContext模拟xml文件的加载
new ClassPathXmlApplicationContext("spring-mybatis.xml");
阅读全文
0 0
- Java 普通类实现spring bean的自定装载
- 普通Java类获取Spring的bean
- 普通Java类获取Spring的bean
- Spring XML 配置里的bean 的自定装配
- 普通Java类获取Spring的Bean的方法
- 普通Java类获取Spring的Bean的方法
- 普通的java类获取spring 的bean配置
- 在普通java类里获取Spring管理的bean
- 普通java取得spring注册的bean
- spring boot普通类调用bean实现
- java 普通类调用spring bean对象
- 普通java类调用spring注解bean
- 普通java类中获取spring bean
- 普通类如何引用Spring的bean?
- Spring 普通类获取bean的方法
- Spring如何管理Java普通类(Java类获取Spring容器的bean)
- spring使用手动装载依赖的bean
- 8. Spring Boot如何实现普通类调用bean
- map 排序
- 小白--linux CentOS 7.3 64位安装jdk 配置环境变量
- Two Sum【LeetCode】
- 一、正则表达式
- JavaScript DOM编程艺术第九章学习笔记
- Java 普通类实现spring bean的自定装载
- UDP编程
- Python3.6 安装psutil 模块和功能简介
- ssh架构使用定时器
- JS 中 JSON 与对象 的相互转换
- ionci2开发之通道
- Android service解析(一)
- nginx配置
- 三目运算符“?:”省略中间操作数