`
天上掉下个喜欢编程的榕哥哥
  • 浏览: 28844 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Spring中多配置文件以及寻找引用其他bean的方式

阅读更多

  Spring多配置文件有什么好处?直接写在一个配置文件里不就完了么?而且多配置文件不是会增加读取配置文件的开销么?其实我当我第一次碰到这些我也有这些问题,但在公司实习的一段时间我看到了它的一些优点,下面说下我自己的看法:

       首先,如果一直把眼光停留在小工程小项目的层次上是无法理解这其中的好处,在企业级的项目中,Spring的配置文件中是会有很多东西的,所以这是其中一点:按照目的、功能去拆分配置文件,可以提高配置文件的可读性与维护性,如将配置事务管理、数据源等少改动的配置与配置bean单独分开。当我们是团队开发的时候,每个人虽然都负责自己的模块,但使用Spring如果只是一个配置文件,那么我们的工作经常会有交集,其中一个交集就是在Spring配置文件中增加自己的bean,这样会给团队开发带来一定的不便,所以bean配置文件又可以被分成多个配置文件,最终在一个配置文件中将所有import进来,这是另外一点。

 

      Spring读取配置文件的几种方式:

      

      1、使用Spring自身提供的ApplicationContext方式读取

      在Java程序中可以使用ApplicationContext两个实现类ClassPathXmlApplicationContext以及

FileSystemXmlApplicationContext来读取多个配置文件,他们的构造器都可以接收一个配置文件数组

     

      如:  ApplicationContext ctx = new ClassPathXmlApplicationContext(configLocations);与采用FileSystemXmlApplicationContext创建ApplicationContext的方式相似,区别仅在于二者搜索配置文件的路径不同:ClassPathXmlApplicationContext通过CLASSPATH路径搜索配置文件:而

FileSystemXmlApplicationContext则在当前路径搜索配置文件。

 

     2、使用web工程启动时加载

 

       在web.xml中配置web容器启动是自动加载哪些配置文件:

        

<servlet> 
      <servlet-name>app</servlet-name> 
      <servlet-class> 
           org.springframework.web.servlet.DispatcherServlet 
      </servlet-class> 
       <context-param> 
           <param-name>contextConfigLocation</param-name> 
           <param-value>/WEB-INF/applicationContext*.xml,/WEB-
                     INF/user_spring.xml</param-value>
      </context-param> 
     <load-on-startup>1</load-on-startup>   
  </servlet>

 

     3、Xml配置文件中导入其他配置文件

     在/WEB-INF/applicationContext.xml配置应用服务去加载,可以在applicationContext.xml中用import引入其他的配置文件

      

<?xml version="1.0" encod工口g="gb2312"?>
<!一指定Spring 配置文件的dtd>
<!DOCTYPE beans PUBLIC "-IISPR工NGIIDTD BEANIIEN"
''http://www.springframework.org/dtd/spring-beans.dtd''>
<!-- Spring 配置文件的根元素->
<beans>
    <!--导入hibernate的配置文件 -->
    <import resource="com/demo/res/hibernate.xml"/>
    <!--导入多个bean配置文件 -->
    <import resource="com/demo/res/bean1.xml"/>
    <import resource="com/demo/res/bean2.xml"/>
 
    <!-- 下面也可以再定义该文件的其他bean --〉
    <bean id="bean1" class=". ..">
    <bean id="bean2" class="...">
</beans>

 

   然后再说一下引用其他bean即ref的一些属性,在多配置文件上也会用到:

   <ref>

   指定了属性对BeanFactory中其他Bean的引用关系。

   bean属性:指定了属性对BeanFactory中其他Bean的引用关系,它可以跨xml寻找bean,多个配置文件中,有时会用到其他配置文件里的bean。

   local属性:指定了属性对BeanFactory中其他Bean的引用关系,但仅在本地(同一个)xml文件里寻找对应的bean,如果我们确定引用的bean只会存在当前的配置文件中,使用该属性的话相对来说会快一些。

分享到:
评论

相关推荐

    Spring读取配置文件原理(Spring如何依赖注入的)

    在Spring中,配置文件通常为XML格式,如`applicationContext.xml`,它定义了bean的实例化、属性设置、装配关系等。当我们启动Spring容器(如ClassPathXmlApplicationContext),容器会解析这个XML文件,生成相应的...

    stute+spring+helete配置文件

    在Struts2中,主要的配置文件有两个:`struts2.properties` 和 `struts.xml`。 1. `struts2.properties`: 这是一个属性文件,用于设置Struts2的一些全局配置选项。例如: - `struts.tag.altSyntax = true` 启用短...

    Spring 配置文件 和详细笔记

    Spring配置文件是Spring框架的核心组成部分,用于定义bean的创建、装配以及它们之间的关系。在本文中,我们将深入探讨Spring配置文件的相关知识点,以及如何有效地使用它们。 1. **XML配置文件** - **基本结构**:...

    Spring配置文件详解1

    总的来说,Spring配置文件是控制和组织Spring应用的重要工具,它涉及到对象的实例化、依赖注入、生命周期管理以及AOP等多个核心概念。理解并熟练掌握这些配置,能帮助开发者更有效地构建和维护Spring应用。

    4 后台使用Spring中的Bean质量评估193210111党涛1

    然后,Spring会根据配置文件解析依赖关系,先创建依赖的Bean,再注入依赖,最后返回完全初始化的Bean实例。若采用构造注入,需要在bean配置中添加`constructor-arg`子元素,每个子元素对应构造器的一个参数,Spring...

    spring配置文件

    总结来说,Spring配置文件是Spring应用的蓝图,它定义了bean的结构、依赖关系以及各种配置参数。理解并熟练掌握Spring配置文件的编写,对于开发高效、稳定的Spring应用至关重要。通过合理配置`...

    Spring xml 方式配制的小demo

    本篇文章主要讲解Spring框架中的XML配置方式,帮助开发者理解如何通过XML配置文件来管理Bean的生命周期和装配。 1. **Spring XML配置基础** Spring框架的配置文件通常以`applicationContext.xml`命名,这是Spring...

    开发项目过程中最全的配置文件模板

    本文将深入探讨"开发项目过程中最全的配置文件模板",包括Spring配置文件的基础知识、重要元素以及如何有效地管理和使用这些模板。 首先,Spring配置文件通常以XML格式存在,命名为`applicationContext.xml`,它是...

    java巩固练习Spring 的bean注入方式有几种demo例子

    在XML配置文件中,我们可以通过`&lt;property&gt;`标签来指定属性名和对应的值,或者通过`&lt;ref&gt;`标签引用其他bean。例如: ```xml &lt;bean id="beanA" class="com.example.BeanA"&gt; &lt;property name="dependency" ref="bean...

    spring02-3

    在Spring的XML配置文件中,当一个bean定义使用`parent`属性引用另一个bean定义时,它将继承父bean的所有属性,包括初始化方法、属性注入等。这种方式可以实现配置的复用,减少重复代码,提高可维护性。例如,我们...

    Spring 2.x配置详解

    一个典型的 Spring 2.5 配置文件至少会包含以下结构: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...

    spring配置文件解析失败报”cvc-elt.1: 找不到元素 &#39;&#39;beans&#39;&#39; 的声明”异常解决

    在Spring框架中,配置文件是核心组件之一,它定义了bean的实例化、依赖注入以及其他的设置。当遇到“cvc-elt.1: 找不到元素 'beans' 的声明”这种异常时,通常意味着Spring在尝试解析XML配置文件时遇到了问题。这个...

    Spring学习笔记(8)----属性注入的方式

    在Spring早期版本中,XML配置文件是定义Bean及其依赖关系的主要方式。属性注入可以通过`&lt;property&gt;`标签来实现。例如: ```xml &lt;bean id="myBean" class="com.example.MyClass"&gt; &lt;/bean&gt; ``` 这里的`name`属性...

    spring4框架系列 [ 4 ]

    10. **配置多子配置文件**:大型项目中,配置文件可能会变得非常庞大,Spring允许将配置分散到多个文件中,然后在主配置文件中引入。例如: ```xml ``` 在`springDemo04`这个示例项目中,你将看到这些概念是如何...

    spring个人笔记,很好的哦

    为了实现这一功能,必须在Spring配置文件中定义这些对象及其依赖关系。 Spring Ioc(Inversion of Control,控制反转)容器是负责管理对象生命周期的关键组件。要让Spring管理对象,必须在配置文件中定义它们,同时...

    spring配置文档[定义].pdf

    这份名为"spring配置文档[定义].pdf"的资料详细介绍了Spring配置文件的使用方式,帮助开发者理解如何有效地管理Spring容器中的bean。下面将深入探讨其中的关键知识点。 1. **XML配置基础**: - `...

    Spring的经典面试题

    - **依赖注入(Dependency Injection, DI)**:依赖注入是IoC的一种具体实现方式,指的是不通过硬编码的方式将依赖对象直接写在代码里,而是通过配置文件等方式,由外部容器(如Spring)在运行时将依赖对象注入到...

    spring总结笔记

    - 默认情况下,Spring容器会寻找名为`applicationContext.xml`的配置文件。该文件通常位于项目的`src`目录下,但也可以通过配置来改变其位置或名称。例如,如果想要自定义配置文件名称为`beans.xml`,则可以在启动...

    spring 装配demo

    3. **XML配置**: 传统上,Spring装配是通过XML配置文件完成的。例如,我们可以在`beans.xml`中定义Bean及其属性、依赖关系等。 ```xml &lt;bean id="exampleBean" class="com.example.ExampleClass"&gt; &lt;/bean&gt; ``...

Global site tag (gtag.js) - Google Analytics