Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。
在学会动手"绘制图纸"之前,先要学会"阅读图纸",熟能生巧讲的就是这个道理,"熟读唐诗三百首,不会作诗也会吟"。
下面列举的是一份比较完整的配置文件模板,文档中各XML标签节点的基本用途也给出了详细的解释,这些XML标签节点在后续的知识点中均会用到,熟练掌握了这些XML节点及属性的用途后,为我们动手编写配置文件打下坚实的基础。
一)applicationContext.xml文件标配模板
1、一个OA系统的applicationContext.xml配置文件
2、一个网上摘录下来的applicationContext.xml文件
第一个
第二个
第三个
第一个l
第二个l
第三个l
value1
value2
value3
3、一个新闻管理系统的配置文件
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/eportal?useUnicode=
true&characterEncoding=gbk
root
root
20
2
2
20
com/eportal/ORM/News.hbm.xml
com/eportal/ORM/Category.hbm.xml
com/eportal/ORM/Memberlevel.hbm.xml
com/eportal/ORM/Cart.hbm.xml
com/eportal/ORM/Traffic.hbm.xml
com/eportal/ORM/Newsrule.hbm.xml
com/eportal/ORM/Merchandise.hbm.xml
com/eportal/ORM/Admin.hbm.xml
org.hibernate.dialect.MySQLDialect
true
50
50
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED
adminService
columnsService
newsService
crawlService
memberLevelService
true
transactionInterceptor
二)ApplicationContext.xml配置文件的基础知识
1、存放位置:
1)src下面
需要在web.xml中定义如下:
2)WEB-INF下面
需要在web.xml中定义如下:
2、web.xml 通过contextConfigLocation配置spring 的方式
SSI框架配置文件路径问题:
struts2的 1个+N个 路径:src+src(可配置) 名称: struts.xml + N
spring 的 1个 路径: src 名称: applicationContext.xml
ibatis 的 1个+N个 路径: src+src(可配置) 名称: SqlMapConfig.xml + N
部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 classes目录下
spring的 配置文件在启动时,加载的是web-inf目录下的applicationContext.xml,
运行时使用的是web-inf/classes目录下的applicationContext.xml。
配置web.xml使这2个路径一致:
3、多个配置文件的加载
contextConfigLocation
classpath*:conf/spring/applicationContext_core.xml,
classpath*:conf/spring/applicationContext_dict.xml,
classpath*:conf/spring/applicationContext_hibernate.xml,
classpath*:conf/spring/applicationContext_staff*.xml,
classpath*:conf/spring/applicationContext_security*.xml
1)contextConfigLocation 参数定义了要装入的 Spring 配置文件
首先与Spring相关的配置文件必须要以"applicationContext-"开头,要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录,正如struts.xml文件中的namespace,hibernate.cfg.xml中也有这样的配置。这样程序看起来不会很乱。
在web.xml中的配置如下:
contextConfigLocation
classpath*:**/applicationContext-*.xml
2)配置文件路径中的“**”什么意思?
"**/"表示的是任意目录;
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:
contextConfigLocation
classpath:/spring/applicationContext-*.xml
3)web.xml中classpath:和classpath*:, 有什么区别?
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.
4、外挂xxx.properties文件