本文已参与「新人创作礼」活动,一起开启掘金创作之路。
IOC容器
1. Bean管理XML方式
- set注入
<bean id="user" class="com.zjj.demo.User">
<property name="name" value="小张"></property>
<property name="age" value="15"></property>
</bean>
- 有参构造注入
<bean id="user" class="com.zjj.demo.User">
<constructor-arg name="age"><value>15</value></constructor-arg>
<constructor-arg name="name"><value>张三</value></constructor-arg>
</bean>
- p名称空间注入
<?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.zjj.demo.User" p:age="18" p:name="李四"></bean>
</beans>
- 属性设为Null
<bean id="user" class="com.zjj.demo.User">
<property name="name"><null></null></property>
<property name="age" value="17"></property>
</bean>
- 属性包含特殊符号
<property name="name" ><value><![CDATA[<<你好>>]]></value></property>
- 外部bean注入
<bean id="user" class="com.zjj.demo02.dao.UserImple"></bean>
<bean id="service" class="com.zjj.demo02.service.UserService">
<property name="user" ref="user"></property>
</bean>
- 内部bean注入
<bean id="service" class="com.zjj.demo02.service.UserService">
<property name="user" ><bean id="user" class="com.zjj.demo02.dao.UserImple">
<property name="name"><value>小王</value></property>
</bean></property>
</bean>
- 级联注入
<bean id="user" class="com.zjj.demo02.dao.UserImple"/>
<bean id="service" class="com.zjj.demo02.service.UserService">
<property name="user" ref="user"/>
<property name="user.name" value="老刘"/>
</bean>
- 集合注入
<!-- 数组类型注入-->
<proertity name="array">
<array>
<value>java</value>
<value>c++</value>
</array>
</proertity>
<!-- list类型注入-->
<proertity name="list">
<list>
<value>java</value>
<value>c++</value>
</list>
</proertity>
<!--map类型注入-->
<proertity name="map">
<map>
<entry key="1" value="java"/>
<entry key="2" value="c++"/>
</list>
</proertity>
<!--set类型注入-->
<proertity name="set">
<set>
<value>java</value>
<value>c++</value>
</set>
</proertity>
<!--集合中添加对象的注入-->
<proertity name="list">
<list>
<ref bean="user1"></ref>
<ref bean="user2"></ref>
</list>
</proertity>
<bean id="user1" class="com.zjj.demo02.UserImple" name="name" value="张三"></bean>
<bean id="user2" class="com.zjj.demo02.UserImple" name="name" value="李四"></bean>
<!--集合的提取-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
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">
<bean id="user" class="com.zjj.demo.User" p:age="18" p:name="李四"></bean>
<util:list id="list">
<value>java</value>
<value>C++</value>
</util:list>
</beans>