Spring框架

2.9.2 使用外部的属性文件

1. 创建properties属性文件

prop.userName=root

prop.password=root

prop.url=jdbc:mysql:///test

prop.driverClass=com.mysql.jdbc.Driver

 

2. 引入context名称空间

 

 

3.指定properties属性文件的位置

<!-- 指定properties属性文件的位置 -->

<!-- classpath:xxx 表示属性文件位于类路径下 -->

<context:property-placeholder location="classpath:jdbc.properties"/>

 

4.从properties属性文件中引入属性值

<!-- 从properties属性文件中引入属性值 -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

         <property name="user" value="${prop.userName}"/>

         <property name="password" value="${prop.password}"/>

         <property name="jdbcUrl" value="${prop.url}"/>

         <property name="driverClass" value="${prop.driverClass}"/>

</bean>

 

2.10 自动装配

2.10.1 自动装配的概念

  • 手动装配:以value或ref的方式明确指定属性值都是手动装配。
  • 自动装配:根据指定的装配规则,不需要明确指定,Spring自动将匹配的属性值注入bean中。

2.10.2 装配模式

  • 根据类型自动装配:将类型匹配的bean作为属性注入到另一个bean中。若IOC容器中有多个与目标bean类型一致的bean,Spring将无法判定哪个bean最合适该属性,所以不能执行自动装配
  • 根据名称自动装配:必须将目标bean的名称和属性名设置的完全相同
  • 通过构造器自动装配:当bean中存在多个构造器时,此种自动装配方式将会很复杂。不推荐使用。

2.10.3 选用建议

         相对于使用注解的方式实现的自动装配,在XML文档中进行的自动装配略显笨拙,在项目中更多的使用注解的方式实现。