spring DI的基本使用

作者: lialzm | 来源:发表于2017-04-21 11:45 被阅读332次

setter注入

public class Person {
    private String name;
    public void setName(String name) {
        this.name = name;
    }
}

这样就可以在xml中注册

 <bean id="person" class="com.catfish.Person">
        <property name="name" value="小美"/>
    </bean>

使用的时候添加@Autowired注解就可以直接获取到注入的值了

构造器注入

 public Person(Integer age, Integer sex) {
        this.age = age;
        this.sex = sex;
    }

注入

<bean id="person" class="com.catfish.Person">
        <constructor-arg name="age" value="10"/>
        <constructor-arg name="sex" value="0"/>
    </bean>

集合注入

spring可以注入List,Set,Map,数组

List

private List<Book> mathBooks;
public void setMathBooks(List<Book> mathBooks) {
        this.mathBooks = mathBooks;
    }

对应注入

<property name="mathBooks">
            <list>
                <bean class="com.catfish.Book">
                    <property name="name" value="数学1"></property>
                </bean>
                <bean class="com.catfish.Book">
                    <property name="name" value="数学2"></property>
                </bean>
            </list>
        </property>

set

只需要把list换成set就行

map

对应注入

<property name="map">
            <map>
                <entry key="key1" value="1"/>
                <entry key="key2" value="2"/>
            </map>
</property>

数组

数组注入方法和list相同或者也可以使用array进行注入

bean互相依赖

<bean id="book" class="com.catfish.Book">
      <property name="name" value="其他书"/>
</bean>
<property name="book">
      <ref bean="book"/>
</property>    

相关文章

网友评论

    本文标题:spring DI的基本使用

    本文链接:https://www.haomeiwen.com/subject/jikdzttx.html