ApplicationContext And BeanFactoryPostProcessor
File: context.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="w" class="java.lang.String"> </bean> <bean id="allBeansLister" class="AllBeansLister"/> </beans> File: Main.java import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; class Main { public static void main(String args[]) throws Exception { ApplicationContext ctx = new ClassPathXmlApplicationContext("context.xml"); ctx.getBean("w"); } } class AllBeansLister implements BeanFactoryPostProcessor { public void postProcessBeanFactory(ConfigurableListableBeanFactory factory) throws BeansException { System.out.println("The factory contains the followig beans:"); String[] beanNames = factory.getBeanDefinitionNames(); for (int i = 0; i < beanNames.length; ++i) System.out.println(beanNames[i]); } }
1. | Add BeanFactoryPostProcessor To XmlBeanFactory | ![]() |