Spring属性注入

来源:互联网 发布:手机动漫制作软件 编辑:程序博客网 时间:2024/05/24 05:17

1、set方法注入(重点)

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "><!-- set方式注入:--><bean name="user" class="com.mytest.User">    <!-- 值类型注入 -->    <property name="name" value="tom"></property>    <property name="age" value="18"></property>    <!-- 引用类型注入 -->    <property name="car" ref="car"></property></bean><bean name="car" class="com.mytest.Car">    <property name="name" value="兰博基尼"></property>    <property name="color" value="黄色"></property></bean></beans>


2、构造函数注入

<!-- 构造函数注入 --><bean name="user" class="com.mytest.Car">     <constructor-arg name="name" value="jerry"  index="0" type="java.lang.Integer"></constructor-arg>     <constructor-arg name="car" ref="car"></constructor-arg>    </bean>


3、p名称空间注入(了解)

<!-- p名称空间注入:   1、导入P名称空间:xmlns:p="http://www.springframework.org/schema/p"    2、使用p:属性完成注入:值类型:p:属性名=值;对象类型:p:属性名-ref="bean名称" --><bean name="user" class="com.mytest.User" p:name="jack" p:age="20" p:car-ref="car"></bean>


4、spel注入(了解)

<!--spel注入:spring Expression Language  --> <bean name="user" class="com.mytest.User">    <property name="name" value="#{user2.name}"></property>    <property name="age" value="#{user1.age}"></property>    <!-- 引用类型不支持spel -->    <property name="car" ref="car"></property></bean>

二、复杂类型注入

<!-- 复杂类型注入 --><bean name="cb" class="com.mytest.c_injection.CollectionBean" ><!-- 如果数组中只准备注入一个值(对象),直接使用value|ref即可 <property name="arr" value="tom" ></property>--><!-- array注入,多个元素注入 --><property name="arr"><array><value>tom</value><value>jerry</value><ref bean="user4" /></array></property><!-- 如果List中只准备注入一个值(对象),直接使用value|ref即可 <property name="list" value="jack" ></property>--><property name="list"  ><list><value>jack</value><value>rose</value><ref bean="user3" /></list></property><!-- map类型注入 --><property name="map"  ><map><entry key="url" value="jdbc:mysql:///crm" ></entry><entry key="user" value-ref="user4"  ></entry><entry key-ref="user3" value-ref="user2"  ></entry></map> </property><!-- prperties 类型注入 --><property name="prop"  ><props><prop key="driverClass">com.jdbc.mysql.Driver</prop><prop key="userName">root</prop><prop key="password">1234</prop></props></property></bean>
package com.mytest.c_injection;import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.Properties;public class CollectionBean {private Object[] arr;private List list;private Map map;private Properties prop;public Object[] getArr() {return arr;}public void setArr(Object[] arr) {this.arr = arr;}public List getList() {return list;}public void setList(List list) {this.list = list;}public Map getMap() {return map;}public void setMap(Map map) {this.map = map;}public Properties getProp() {return prop;}public void setProp(Properties prop) {this.prop = prop;}@Overridepublic String toString() {return "CollectionBean [arr=" + Arrays.toString(arr) + ", list=" + list + ", map=" + map + ", prop=" + prop+ "]";}}



原创粉丝点击