Spring 進階(2) 容器後處理器
阿新 • • 發佈:2018-12-10
- 容器後處理器針對的是容器本身,可以對整個容器進行修修補補。
- 用法是讓容器後處理器類實現BeanFactoryPostProcessor介面,重寫postProcessBeanFactory方法,又是這個套路啦~~
void postProcessBeanFactory(ConfigurableListableBeanFactory var1) throws BeansException;
把實現了容器後處理器的類按照普通bean一樣在配置檔案中配置,然後spring在完成容器初始化之後就對自動呼叫postProcessBeanFactory方法,把容器當作引數傳進去。
-
例子在這~~
package TestPackage; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; //測試類 public class SpringTest { public static void main(String [] args){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); } }
package util; import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; //容器後處理器類,打印出容器的相關資訊 public class FactoryPostProcessor implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { System.out.println("spring容器是" + beanFactory); } }
<?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd "> <bean id="FactoryPostProcessor" class="util.FactoryPostProcessor"/> <!--把容器後處理器當作普通的bean配置就好了--> </beans>
這是我看李剛編著的《輕量級javaEE企業應用實戰(第五版)-Struts2+Spring5+Hibernate5/JAP2》後總結出來的。