在容器初始化时注入Bean工厂,并提供一些列静态方法,用于运行期间任何地方都可以用过他来获许对应Bean
package com.idaima.util; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; public class BeanUtil implements BeanFactoryAware{ private static BeanFactory beanFactory; // private static ApplicationContext context; @Override public void setBeanFactory(BeanFactory factory) throws BeansException { this.beanFactory = factory; } /** * 根据beanName名字取得bean * * @param beanName * @return */ public static <T> T getBean(String beanName) { if (null != beanFactory) { return (T) beanFactory.getBean(beanName); } return null; } }
兄弟篇:重写PropertyPlaceholderConfigurer类达到使用静态方法来获取配置参数值