spring5 入门(二) 依赖注入,set不同类型变量注入方式详解,以及bean的作用域

何为依赖注入?

  • 依赖是指通过IOC容器创建对象
  • 注入是指对象的成员变量由容器来设置和装配

注入方式

1,构造器注入 ,即通过constructor-arg这个字段进行有参构造

    <bean id="helloarg" class="com.hys.pojo.Hello" scope="singleton" >
        <constructor-arg name="str" value="kokokoko"/>
    </bean>

2.set注入 重点 不同类型的注入方式,测试类的变量包含数组,set,list,map集合,引用对象,properties,如下

public class Student {
    private String name;
    private teacher teacher;
    private String[] hobby;
    private List<String> book;
    private Set<String> games;
    private Map<String,String> cards;
    private Properties prop;
}

针对以上不同类型变量的注入方式,如下:

    <bean id="student" name="s1,s2,s3" class="com.hys.pojo.Student">
        <property name="name" value=""/>
        <property name="teacher" ref="mingqiang"/>
        <property name="hobby">
            <array>
                <value>游戏</value>
                <value>逻辑推理</value>
                <value>足球</value>
                <value>羽毛球</value>
            </array>
        </property>
        <property name="book">
            <list>
                <value>平凡的世界</value>
                <value>罗斯蔡德尔家族</value>
                <value>茶花女</value>
            </list>
        </property>
        <property name="games">
            <set>
                <value>英雄联盟</value>
                <value>炉石传说</value>
                <value>王者荣耀</value>
            </set>
        </property>
        <property name="cards">
            <map>
                <entry key="学生证" value="1315212015"/>
                <entry key="卡号" value="1304821"/>
            </map>
        </property>
        <property name="prop">
            <props>
                <prop key="username">123456789</prop>
                <prop key="pwd">1111</prop>
            </props>
        </property>
    </bean>

</beans>

 bean的作用域,有这四个 

Singleton  该作用域是缺省作用域,IOC容器只会存在这样一个bean实例,并且对该bean的所有获取,返回都是同一个,创建容器时就会自动创建

Prototype 该作用域会使每次对该bean的请求,都会创建一个新的bean实例

Request 表示一次http请求,对应一个bean实例

Session 代表bean实例存在一次会话中

 

 

posted @ 2021-09-03 00:04  黄易安  阅读(228)  评论(0)    收藏  举报