苏黎 搜索开发工程师

Spring的配置问题汇总

2017-04-10
suli

Spring配置问题汇总

最近换工作,需要写java了,最近在写Spring的时候碰到了配置问题,感觉比较乱,就总结一下,Spring的IOC在我看来其实还是蛮简单的,因为写过C++反射,感觉反射确实相当适合写成框架和模块。下面吧Spring的配置问题进行总结一下。

1.ClassPathXmlApplicationContext路径

  1. 没有前缀:默认为项目的classpath下相对路径
ApplicationContext appCt = new ClassPathXmlApplicationContext("app.spring.xml"); 
  1. 前缀classpath:表示的是项目的classpath下相对路径
ApplicationContext appCt = new ClassPathXmlApplicationContext("classpath:app.spring.xml");
  1. 使用前缀file 表示的是文件的绝对路径
ApplicationContext appCt = new ClassPathXmlApplicationContext("file:D:/app.spring.xml"); 
  1. 可以同时加载多个文件
String[] xmlCfg = new String[] { "classpath:base.spring.xml","app.spring.xml"};
ApplicationContext appCt = new ClassPathXmlApplicationContext(xmlCfg); 
  1. 使用通配符加载所有符合要求的文件
ApplicationContext appCt = new ClassPathXmlApplicationContext("*.spring.xml"); 

2.FileSystemXmlApplicationContext路径

  1. 默认为项目工作路径 即项目的根目录
ApplicationContext appCt2 = new FileSystemXmlApplicationContext("src/main/resources/app.spring.xml");
  1. 前缀classpath:表示的是项目的classpath下相对路径
ApplicationContext appCt2 = new FileSystemXmlApplicationContext("classpath:app.spring.xml");
  1. 使用前缀file 表示的是文件的绝对路径
ApplicationContext appCt2 = new FileSystemXmlApplicationContext("file:D:/app.spring.xml"); 
ApplicationContext appCt2 = new FileSystemXmlApplicationContext("D:/app.spring.xml");

4.可以同时加载多个文件

String[] xmlCfg = new String[] { "src/main/resources/base.spring.xml","classpath:app.spring.xml"}; 
ApplicationContext appCt2 = new FileSystemXmlApplicationContext(xmlCfg); 

5.使用通配符加载所有符合要求的文件

ApplicationContext appCt2 = new FileSystemXmlApplicationContext("classpath:*.spring.xml"); 

总结

Spring配置比较杂,梳理一下留着以后用


Similar Posts

Comments