Spring.2

三、DI

1、什么是DI?


   DI(Dependency Injection):依赖注入:将对象(dao)从IOC容器中拿出来赋值给调用者(service)

2、DI的方式


        1、构造方法注入


            标签:constructor-arg
            要求:必须提供构造方法
            =====给谁赋值=====
                name:构造方法的参数名称
                index:构造方法中参数的索引位置
            ====赋什么值======
                value:基本类型数据
                ref:另一个bean标签的id值

构造方法

注入

        2、set方法注入


            标签:
            要求:必须提供set方法
             =====给谁赋值=====
                name:对象的属性名(setXXX)
            ====赋什么值======
                value:基本类型数据
                ref:另一个bean标签的id值

set方法

注入


        3、自动注入


            要求:必须提供set方法
            原理:遍历ioc容器,并判断每个对象的类型,如类型一致则赋值
           且注意添加 <bean autowire="byType">

四、BeanFactory和ApplicationContext

 BeanFactory:顶级接口,使用对象时才创建

每次使用均创建,所以每个地址都不一样


 ApplicationContext:子接口,加载配置文件时就创建对象

因为是提前创建好的,所以每次调用的都是同一个

五、spring bean五种作用域(bean放哪了)

  singleton:单例,默认,ioc容器
  prototype:多例,newInstance()
  request:request域
  session:session域
  application:application域

   单例和多例的使用场景?
   单例:service、dao、SqlSessionFactory
   多例:connection、sqlSession

六、spring bean的生命周期【重点】

    单例:
        [容器启动]--->构造方法(实例化)--->set方法(注入)--->init方法(初始化)--->[容器关闭]--->destroy方法(销毁bean)
    多例:
        [使用对象]--->构造方法(实例化)--->set方法(注入)--->init方法(初始化)---[jvm垃圾回收]--->destroy方法(销毁bean)

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值