您的位置:首页 > 编程语言 > Java开发

如何告诉spring初始化指定配置文件中的javabean

2005-07-29 17:00 906 查看
我们一般使用下面两个类初始化spring的bean配置文件,完成javabean的创建和javabean之间关系的管理。
ClassPathXmlApplicationContext和FileSystemXmlApplicationContext.
1、ClassPathXmlApplicationContext
参数为文件的路径,路径相对于classpath
使用方法:
ctx = new ClassPathXmlApplicationContext("applicationContext-hibernate.xml");
2、FileSystemXmlApplicationContext
参数为文件的路径,路径为文件系统的实际路径。
使用方法:
ApplicationContext ctx = new FileSystemXmlApplicationContext("c://applicationContext-hibernate.xml");

问题:
如果我们有这样的需求:配置文件的查找由我们自己的程序完成,然后我们需要spring来初始化我们找到的配置文件,该怎么做呢?
我们可以看看ApplicationContext的类层次关系。



从中我们可以看到ClassPathXmlApplicationContext是通过DefaultResourceLoader类获得配置文件的,缺省的方式是通过classpath,而FileSystemXmlApplicationContext由于覆盖了getResourceByPath方法,使得spring通过getResourceByPath指定的方式查找配置文件。
这时候我们可以获得答案了:
1、如果我们可以确保配置文件在classpath中,那么我们一般采用ClassPathXmlApplicationContext类初始化javabean。
2、如果我们需要自己查找配置文件的话,我们可以采用覆盖getResourceByPath的方法,这样spring就可以根据配置文件初始化javabean了。
当然这第二种方法需要我们的类继承AbstractXmlApplicationContext类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: