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