带你走进spring(一)

65 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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>