Spring bean加载方式

在加载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(),但是前提是该类必须是单态的。

 

你可能感兴趣的:(spring,xml,bean)