版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337154
上篇介绍了Spring IOC容器管理Bean的几种方式,IOC容器会帮助我们管理配置好的Bean及其之间的依赖关系。
除了管理我们自定义的类之间的依赖关系,Spring还可以帮助我们注入一些常用的属性。比如String、int、List、Set等~
比如下面Bean1这个类,IOC容器在启动的时候也可以自动为它的这些属性赋值。
public class Bean1 {
private String strValue;
private int intValue;
private List listValue;
private Set setValue;
private String[] arrayValue;
private Map mapValue;
//setter、getter
}
这里仍然用setter注入的方式为Bean1的属性赋值,配置如下:
<bean id="bean1" class="com.danny.spring.Bean1">
<property name="strValue">
<value>Hello_Spring</value>
</property>
<property name="intValue" value="123456"></property>
<property name="listValue">
<list>
<value>list1</value>
<value>list2</value>
</list>
</property>
<property name="setValue">
<set>
<value>set1</value>
<value>set2</value>
</set>
</property>
<property name="arrayValue">
<list>
<value>array1</value>
<value>array2</value>
</list>
</property>
<property name="mapValue">
<map>
<entry key="k1" value="v1"></entry>
<entry key="k2" value="v2"></entry>
</map>
</property>
</bean>
启动Spring容器,分别打印每个属性的值:
public void testInjection(){
Bean1 bean1=(Bean1)beanFactory.getBean("bean1");
System.out.println(bean1.getStrValue());
System.out.println(bean1.getIntValue());
System.out.println(bean1.getListValue());
System.out.println(bean1.getSetValue());
System.out.println(bean1.getArrayValue());
System.out.println(bean1.getMapValue());
}
测试结果如下:
Hello_Spring
123456
[list1, list2]
[set1, set2]
[Ljava.lang.String;@3465f515
{k1=v1, k2=v2}
【 转载请注明出处——胡玉洋《【SSH快速进阶】——Spring属性注入》】