IOC容器 - Bean管理XML方式
1.注入数组类型属性
2.注入List集合类型属性
3.注入Map集合类型属性
4.注入Set集合类型属性
5.在集合里面设置对象类型值
6.把集合注入部分提取出来
1 - - -> 4
(1) 创建类,定义数组、list、map、set等类型属性,生成对应set方法,创建Course类,并生成set方法。
public class Stu {
//1.数组类型属性
private String[] courses;
//2.list集合类型属性
private List<String> list;
//3.map集合类型属性
private Map<String,String> maps;
//4.set集合类型属性
private Set<String> sets;
//学生所学课程
private List<Course> courselists;
public void setCourses(String[] courses) {
this.courses = courses;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMaps(Map<String, String> maps) {
this.maps = maps;
}
public void setSets(Set<String> sets) {
this.sets = sets;
}
public void setCourselists(List<Course> courselists) {
this.courselists = courselists;
}
(2) 在spring配置文件中进行配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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="stu" class="com.aiguigu.spring5.collectiontype.Stu">
<property name="courses">
<array>
<value>Java</value>
<value>PHP</value>
<value>JS</value>
</array>
</property>
<!-- list类型属性注入 -->
<property name="list">
<list>
<value>Lee</value>
<value>Ryan</value>
<value>Yoga</value>
</list>
</property>
<!-- map类型属性注入 -->
<property name="maps">
<map>
<entry key="MYSQL" value="mysql"></entry>
<entry key="JS" value="js"></entry>
<entry key="Java" value="java"></entry>
</map>
</property>
<!-- set类型属性注入 -->
<property name="sets">
<set>
<value>Set</value>
</set>
</property>
<!-- 注入list集合类型,值是对象 -->
<property name="courselists">
<list>
<ref bean="course1"></ref>
<ref bean="course2"></ref>
</list>
</property>
</bean>
<!--创建多个Course对象 -->
<bean id="course1" class="com.aiguigu.spring5.collectiontype.Course">
<property name="coursename" value="Spring5框架"></property>
</bean>
<bean id="course2" class="com.aiguigu.spring5.collectiontype.Course">
<property name="coursename" value="MyBatis框架"></property>
</bean>
</beans>
(Test类就不放代码了)运行结果如下:
5 - - - > 6 (先创建Book类,定义List集合,set方法)
(1)在Spring配置文件中引入名称空间 util
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!-- 将list集合类型属性注入-->
<util:list id="bookList">
<value>MVC</value>
<value>Boot</value>
<value>Cloud</value>
</util:list>
(2)使用util标签完成list集合注入提取
<!-- 将list集合类型属性注入使用-->
<bean id="book" class="com.aiguigu.spring5.collectiontype.Book">
<property name="list" ref="bookList"></property>
</bean>
运行结果如下
5 - - -> 6
自我感觉这个就是了搞了个list集合往里面注入属性,这个list集合谁用谁拿(根据ref)
再直白点:“空壳”注入“实心” util里面的是实心,bean里面是空心的…2333
这些只是本人学习过程阶段的思考,仅供参考,如有错误,欢迎在评论区指出!