在加载spring的bean的xml文件,生成spring容器。得到bean对象的几中用法。
在srping中可以配置一个xml文件,但是为了解耦也可以配置多个xml文件。
通过spring容器直接生成bean对象。
1、用ApplicationConetx上下文对象来加载application.xml文件。
解析一个xml文件:
比如说:
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
加载的是一个xml文件,通过它就可以获得bean对象了:
ContainerBean bean=(ContainerBean)ctx.getBean("/cb");获得的是ContainerBean对象。
解析多个xml文件:
比如说:ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","applicationContext2.Rel"});
这里是建立了一个String数组
ClassPathXmlApplication对象指的是在该项目下的classes下去找xml的文件,生成对象。
2、用Resource加载application.xml文件,用beanFactory获得bean对象
这个Resource文件只能加载一个xml文件。如果该xml文件还引用了其他的xml文件
Resource resource=new ClassPathResource("applicationContext.xml");
BeanFactory ctx=new XmlBeanFactory(resource);
ContainerBean bean=(ContainerBean)ctx.getBean("/cb");
用bean工厂获得bean对象
可以加载该xml文件的系统真实路径获得resource对象
Resource resource=new FileSystemResource("E:/未来蓝图4_14连读班/Spring1.2FirstApp/classes/applicationContext.xml");
BeanFactory ctx=new XmlBeanFactory(resource);
ContainerBean bean=(ContainerBean)ctx.getBean("/cb");
也可以用BeanFactory的子类XmlFactory获得。用XmlFactory获得的好处是当你要执行类销毁方法的时候。可以执行ctx.destroySingletons(),但是前提是该类必须是单态的。