美文网首页程序员
Spring Aware相关接口的使用

Spring Aware相关接口的使用

作者: zpwd63 | 来源:发表于2018-01-03 10:47 被阅读0次
    • 在spring中提供了很多关于Aware的接口,该接口拥有一个统一的规律,即在spring对实现了Aware相关接口bean的初始化时,同时会注入相关的资源。例如:实现了BeanFactoryAware接口的bean在初始化完成后,容器会自动注入BeanFactory实例;实现了ApplicationContextAware接口的bean在初始化后,也会同样注入ApplicationContext实例。

    • 示例代码:

    
    /**
     * 实现Aware相关接口的bean
     */
    public class AwareTest implements BeanFactoryAware {
    
        private BeanFactory beanFactory;
    
        /**
         * spring通过set方法注入beanFactory实例
         * @param beanFactory
         * @throws BeansException
         */
        @Override
        public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
            this.beanFactory = beanFactory;
        }
    
        /**
         * 测试方法
         */
        public void awareSay() {
            Hello hello = (Hello) beanFactory.getBean("hello");
            hello.say();
        }
    }
    
    
    /**
     * 测试实例
     */
    public class Hello {
    
        public void say() {
            System.out.println("hello aware");
        }
    
    }
    
    /**
     * 运行测试
     */
    public class Run {
    
        public static void main(String[] args) {
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-bean.xml");
            AwareTest testAware = (AwareTest) applicationContext.getBean("test_aware");
            testAware.awareSay();
        }
    
    }
    

    配置文件

        <bean id="test_aware" class="com.source.aware.AwareTest" />
        <bean id="hello" class="com.source.aware.Hello" />
    

    在实现Aware接口后,通过spring自动注入BeanFactory的实例就可以获取所有spring管理的bean,其他相关接口也有类似的规律。

    相关文章

      网友评论

        本文标题:Spring Aware相关接口的使用

        本文链接:https://www.haomeiwen.com/subject/xefhnxtx.html