spring DI的基本使用

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>    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容