分门别类——Spring整合组件时读取多个xml配置文件

引言:

Spring的控制反转和依赖注入是我在项目中使用频率最大的,但是Spring整合其他组件的能力也不得不让人感叹,小到log、quartz、velocity,大到Mybatis,Struts2等其他框架,Spring都可以在尽量解耦合的情况下将他们整合到同一个项目中,这就出现了另一个问题:

过多的xml配置项,applicationContext中显得混乱不堪!

编码习惯相对好一点的中间会留有空格,相对还好看一点,

编码习惯差一点的,根本分不清配置的是哪一个组件,没有可读性,容易犯错误。


错误就不在这里展示了。刚刚接触Spring的时候由于对配置不是很熟悉,本着试一试的心态来整合Struts2,、Mybatis等框架,导致问题多多,本身因为开始的时候没有使用Maven来管理jar包,加上配置繁多,本人又不甚熟悉,错误摸不着头脑。


解决方案:

分门别类——Spring整合组件时读取多个xml配置文件_第1张图片分门别类


具体做法:

1)对于Web项目

a)将某个组件所需要的spring   xml配置内容写入到另一个xml配置文件中,配置文件的验证头就用最开始配置Spring主体时候的那一部分即可,根据组件配置的验证 需求再自行添加。

b)添加组件的Spring配置信息到这个单独出来的xml中。

c)在web.xml中配置能够读取多个Spring的xml配置信息

<!-- Spring监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <!-- Spring配置文件位置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring*.xml</param-value>
    </context-param>
进行了这几步配置,就可以从多个xml中读取Spring的配置信息了,

注意:

web.xml配置中出现的   classpath*  和  classpath   的区别是:

classpath:只会到你所指定的class路径中查找文件

classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找



你可能感兴趣的:(spring,xml配置)