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

Spring之配置文件加载方式

2011-12-18 17:38 309 查看
Spring在org.springframework.core.io包中提供了多种配置文件加载方式。无论是XML、URL还是文件,都有很好的支持。比如基于URL的UrlResource、基于输入流的InputStreamResource、基于文件系统的FileSystemResource、基于应用classpath的ClassPathResource。开发者可以从不同位置、以不同方式加载Spring配置文件。

常用的集中配置文件加载方式:

一:XmlBeanFactory 加载方式。此方式常用于应用程序,如swt、applet等。

view plaincopy to clipboardprint?

//基于资源文件加载:
Resource resource = new ClassPathResource("appcontext.xml");

BeanFactory factory = new XmlBeanFactory(resource);

//基于流文件加载:
InputStream in = new FileInputStream("appcontext.xml");

BeanFactory factory = new XmlBeanFactory(in);

view plaincopy to clipboardprint?

ApplicationContext context=new classPathXmlApplicationContext("classpath:appcontext.xml");

BeanFactory factory = (BeanFactory)context;

// src目录下的
ApplicationContext context=new ClassPathXmlApplicationContext("appcontext.xml");

BeanFactory factory = (BeanFactory)context;

// src/conf 目录下的
ApplicationContext context=new ClassPathXmlApplicationContext("conf/appcontext.xml");

BeanFactory factory = (BeanFactory)context;
//绝对路径
ApplicationContext context=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");

BeanFactory factory = (BeanFactory)context;

ApplicationContext context=new classPathXmlApplicationContext("classpath:appcontext.xml");
BeanFactory factory = (BeanFactory)context;

// src目录下的
ApplicationContext context=new ClassPathXmlApplicationContext("appcontext.xml");
BeanFactory factory = (BeanFactory)context;

// src/conf 目录下的
ApplicationContext context=new ClassPathXmlApplicationContext("conf/appcontext.xml");
BeanFactory factory = (BeanFactory)context;
//绝对路径
ApplicationContext context=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");
BeanFactory factory = (BeanFactory)context;


三 : 文件系统的加载方式

view plaincopy to clipboardprint?

ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");

//使用了 classpath: 前缀,作为标志, 这样,FileSystemXmlApplicationContext 也能够读入classpath下的相对路径

ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");

ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");

ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");

ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");
//使用了 classpath: 前缀,作为标志, 这样,FileSystemXmlApplicationContext 也能够读入classpath下的相对路径
ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");

四: XmlWebApplicationContext 是专为Web工程定制的。

view plaincopy to clipboardprint?

ServletContext servletContext = request.getSession().getServletContext();

ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: