zoukankan      html  css  js  c++  java
  • 通过ApplicationContextAwareSpring实现手工加载配置的javabean

            在做一个多线程的数据采集器实现的过程中,由于框架是集成srping,因此希望统一使用原有的数据库配置信息,但是需要手工获取数据库配置bean。我们可以通过继承ApplicationContextAwareSpring类,并实现一个能够读取所有配置的javabean。

    public class SpringApplicationContextHolder implements ApplicationContextAware {
    
        private static ApplicationContext applicationContext;
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext)
                throws BeansException {
            SpringApplicationContextHolder.applicationContext = applicationContext;
        }
    
        public static ApplicationContext getApplicationContext() {
            return applicationContext;
        }
    
        public static Object getBean(String beanName) {
            return applicationContext.getBean(beanName);
        }
    
        public static <T> T getBean(String beanName, Class<T> clazz) {
            return applicationContext.getBean(beanName, clazz);
        }
    
        public static <T> T getBean(Class<T> clazz) {
            return applicationContext.getBean(clazz);
        }
    }
    

          要实现上述代码能够获得spring的上下文,必须实现以下两个步骤。

    • 首先必须在配置文件中配置该类
    	<bean class="com.attence.frame.SpringApplicationContextHolder" />
    
    • 其次SpringApplicationContextHolder必须继承ApplicationContextAware接口。在项目加载配置文件后,会自动调用ApplicationContextAware的setApplicationContext方法,讲上下文对象传递给使用者。
    • 调用方法
           AttenceService attenceService = SpringApplicationContextHolder.getBean(AttenceService.class);				
           attenceService.insertAttence(attenceList);
  • 相关阅读:
    SpringMVC01_入门案例
    Spring10_AOP
    Spring09_动态代理
    VisualGC IDEA插件(原创)
    IDEA 项目文件图标渲染类 CompoundIconProvider
    Visual VM 垃圾回收性能监控开源插件, 支持Java 8和VisualVM 2.0
    VisualGC 3.0 独立运行增强版, 支持JDK 8
    SpringMVC总结
    SSM框架整合
    MySQL免安装版配置教程
  • 原文地址:https://www.cnblogs.com/wala-wo/p/5119192.html
Copyright © 2011-2022 走看看