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
这些只是本人学习过程阶段的思考,仅供参考,如有错误,欢迎在评论区指出!