- 构造函数注入
<bean id="person" class="com.ibuyi.free.Case_one.Person">
<constructor-arg name="name" value="Yang"/>
<constructor-arg name="age" value="20"/>
</bean>
- setter方法注入
private String name;
private Integer age;
public Person(String name,Integer age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
<bean id="person" class="com.ibuyi.free.Case_one.Person">
<property name="name" value="Yang"/>
<property name="age" value="20"/>
</bean>
- -p名称空间
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
<!--这里需要引入p空间-->
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="person" class="com.ibuyi.free.Case_one.Person"
p:name="yangkun" p:age="30">
</bean>
</beans>
- Spring SqEL注入
<bean id="year" class="com.ibuyi.free.Case_one.Age"/>
<bean id="person" class="com.ibuyi.free.Case_one.Person">
<property name="name" value="#{'yang'}"></property>
<property name="age" value="#{year.getAge(50)}"></property>
</bean>
其中Age.java
package com.ibuyi.free.Case_one;
public class Age {
public int getAge(int age){
return age+10;
}
}
结果:
- 复杂类型的注入
package com.ibuyi.free.Case_one;
import java.lang.reflect.Array;
import java.util.*;
public class Collection {
private String ars[];
private List<String> list;
private Set<String> set;
private Map<String,Integer> map;
private Properties properties;
public String[] getArs() {
return ars;
}
public void setArs(String[] ars) {
this.ars = ars;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Set<String> getSet() {
return set;
}
public void setSet(Set<String> set) {
this.set = set;
}
public Map<String, Integer> getMap() {
return map;
}
public void setMap(Map<String, Integer> map) {
this.map = map;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
public String toString() {
return "Collection{" +
"ars=" + Arrays.toString(ars) +
", list=" + list +
", set=" + set +
", map=" + map +
", properties=" + properties +
'}';
}
}
<bean id="collection" class="com.ibuyi.free.Case_one.Collection">
<property name="ars">
<list>
<value>aaa</value>
<value>bbb</value>
<value>ccc</value>
</list>
</property>
<property name="list">
<list>
<value>ddd</value>
<value>eee</value>
<value>fff</value>
</list>
</property>
<property name="set">
<set>
<value>ggg</value>
<value>hhh</value>
<value>iii</value>
</set>
</property>
<property name="map">
<map>
<entry value="1" key="jjj"></entry>
</map>
</property>
<property name="properties">
<props>
<prop key="username">root</prop>
<prop key="password">123456</prop>
</props>
</property>
</bean>