加载XML定义文件方式四种:
BeanFactory bf=new XmlBeanFactory(new ClassPathResource("spring.xml"));
意思是BeanFactory从XML读取Bean定义的信息,现在Bean工厂还没有实例化Bean,Bean是延迟加载到Bean工厂中,也就是说Bean工厂会立即把Bean定义的信息载入进来,但是Bean只是在被需要的时候才被实例化。
ApplicationContext是采用的预先实例化,这样可以及早的发现错误。
比如在配置文件中出现错误,会立即给于提示。
ApplicationContext ac=new FileSystemXmlApplicationContext("src/spring.xml");
从文件系统中的XML文件载入上下文定义信息,只能在指定的路径中寻找spring.xml文件
ApplicationContext ac=new ClassPathXmlApplicationContext("spring.xml");
从类路径中XML文件载入上下文信息把上下文定义的文件当成类路径资源,可以在整个类路径中寻找
ApplicationContext ac=new XmlWebApplicationContext("WebRoot/spring.xml"));
从web系统中的XML文件载入上下文信息
加载.properties定义文件方式
BeanDefinitionRegistry reg=new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader=new PropertiesBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("hellobean.properties"));
BeanFactory bf=(BeanFactory) reg;