ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml");其实这时这么写就不行了,因为这个语句在查找applicationContext.xml文件时是在项目的根目录下查找,而不会到src目录下查找。这时,应该把语句改为:
代码2:
ApplicationContext context = new FileSystemXmlApplicationContext("src/applicationContext.xml");即加上src这个目录,就不会出错了。如果不是使用Myeclipse而是使用eclipse自己导入spring包进行开发,就要先看一下在建项 目的时候,是选择把.java文件和.class文件分开放置还是放在同一个目录,如果选择了分开放置则情况和上面的一样(前提条件是 applicationContext.xml文件也是自己建在src目录下);如果选择了把.java文件和.class文件放在同一个目录下,这时就 要看建applicationContext.xml文件时放在哪个目录下了,如果是放在根目录下,就使用代码1的代码就可以了。如果把 applicationContext.xml文件和.java文件放在了同一个目录下,这个时候就要加上程序的包路径了,如我的Java源程序的包名是 org.wzhongyu,我就要用下面的语句来实现:
ApplicationContext context = new FileSystemXmlApplicationContext("org/wzhongyu/applicationContext.xml"); 第二种情况:使用eclipse+springIDE进行开发,而配置文件使用属性配置文件(即.properties文件),出 现异常。这时应该注意,配置文件应该放在CLASSPATH路径下,如果建项目的时候没有选择把.java文件和.class文件分开放置,那么这个. properties文件就应该放在项目的根目录下,这样不会出错。如果建项目的时候,选择了把.java文件和.class文件分别放在src目录和 bin目录下,这时一定要注意把.properties文件放在src根目录下,否则就会出错。但是,我们读取这个配置文件的时候,一定不能加上src这 个目录,用下面的代码:
代码4:
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("beans-config.properties"));这里没有加上src,因为程序执行的CLASSPATH就是在src根目录下,不放在这里就会出错,就是出现java.io.FileNotFoundException这个异常信息。