Spring加载配置文件

        最近在看《Spring3.0就这么简单》这本书,开发环境为IDEA+Maven,今儿写代码时,Spring加载配置文件总是失败,相当郁闷,不过还是解决了。

最初的写法是

 Resource res=new ClassPathResource("classpathcom/smart/beanfactory/beans.xml");
或者

ApplicationContext factory = new ClassPathXmlApplicationContext("beans.xml");

    当然,括号里的路径诸如直接写beans.xml,或在前面加路径,或加classpath,或将beans.xml换在src、main、java等目录下,改了好多次,运行结果均是找不到配置文件。

目录结构如下:



解决方案:将配置文件放在resources目录下,这是Maven项目放置配置文件的专用目录。

ApplicationContext的初始化:

1、配置文件在类路径,优先使用ClassPathXMLApplicationContext:

    ApplicationContext ctx=new ClassPathXmlApplicationContext("com/smart/context/beans.xml");

对于ClassPathXMLApplicationContext,

"com/smart/context/beans.xml"等同于"classpath:com/smart/context/beans.xml"

2、配置文件在文件系统路径,优先使用FileSystemXMLApplicationContext

ApplicationContext ctx=new FileSystemXMLApplicationContext("com/smart/context/beans.xml");

"com/smart/context/beans.xml"等同于"file:com/smart/context/beans.xml"

3、配置文件整合

    Spring会自动将多个配置文件在内存中“整合”成一个配置文件。

new ClassPathXMLApplicationContext(new String[] {"conf/beans1.xml","conf/beans2.xml"})

FileSystem~和ClassPath~都可显示使用带资源类型前缀的路径。

区别:如果不显示指定资源类型前缀,就分别将路径解析为文件系统路径和类路径。

相关代码:可访问我的github的chapter仓库chapter2目录。

时间: 2024-10-28 21:32:21

Spring加载配置文件的相关文章

spring手动加载配置文件

问题描述 spring手动加载配置文件 维护一个老项目,在本地调试,想手动加载spring配置文件,但属性总是不能成功注入,请各位高手帮忙看一看,一下是配置文件 配置文件1: <?xml version="1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframe

Spring加载properties文件的两种方式

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51365707 目录(?)[+]         在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便.在spring中也可以这么做,而且Spring有两种加载properties文件

spring-自动加载配置文件\使用属性文件注入

在上一篇jsf环境搭建的基础上 , 加入spring框架 , 先看下目录结构 src/main/resources 这个source folder 放置web项目所需的主要配置,打包时,会自动打包到WEB-INF下 首先看下pom.xml,需要引入一些依赖项: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&

spring加载完xml怎么使用

问题描述 现在有一堆参数,有中文开始打算用properties,但是发现他对中文支持不够好.转而采用xml开始搜索加载xml结果都是spring加载xml的方法,讲述了好几种不同的方法但是我没找到后续,也就是加载完以后该怎么操作xml结构如下<?xml version="1.0" encoding="UTF-8"?><send><url>http://106.ihuyi.com/webservice/sms.php?method=

tomcat的加载配置文件不完全问题,偶尔会包这个错误,大部分时间又正常没错

问题描述 tomcat的加载配置文件不完全问题,偶尔会包这个错误,大部分时间又正常没错 信息: Initializing Spring root WebApplicationContext log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly.

Spring加载properties文件的方法_java

在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便.在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式. 下面分别讨论下这两种方式.1. 通过xml方式加载properties文件        我们以Spring实例化dataSource为例,我们一般

Java中加载配置文件的集中方式,以及利用ClassLoader加载文件

 我们往常进行文件的加载的时候 用到的都是  FileInputStream进行 文件的加载比如下面一个例子 :  InputStream in=FileInputStream("1.properties");  Properties p=new Properties() ; p.load(int)  ;//加载输入流 获得键值对 p.getProperties(...) ;//// 我们通常都是这样来加载配置文件 .我们知道 我们在使用 第三方提供的类的时候 第三方都是以 jar包的

linux修改php.ini后重新加载配置文件命令

  PHP的一般默认安装目录是: /usr/local/php/ 我们用php-fpm来进行重新加载配置文件(如php.ini): /usr/local/php/sbin/php-fpm reload 注:/usr/local/php/sbin/php-fpm还有其他参数,包括:start|stop|quit|restart|reload|logrotate. 使用PHP-FPM来控制PHP-CGI的FastCGI进程 /usr/local/php/sbin/php-fpm {start|sto

登录时候系统提示无法加载配置文件

  问:在Windows XP系统下,使用新的帐户登录时,提示无法加载配置文件(如图7).但使用原来的帐户却可以登录.请问如何解决? 答:这是由于系统无法创建新的用户配置文件,因此本地电脑中没有用户配置文件的帐户都无法登录系统,而有用户配置文件的帐户就可以登录.因为系统创建新的用户配置文件时,其实是把Documents and SettingsDefault User文件夹(该文件夹默认隐藏,需要设置显示隐藏文件夹)作为模板进行创建,所以导致该故障的原因有两种. 1.Default User文件