学习视频:【孙哥说Spring5:从设计模式到基本应用到应用级底层分析,一次深入浅出的Spring全探索。学不会Spring?只因你未遇见孙哥】

第四章、注入(Injection)1.什么是注入

通过Spring工厂及配置文件,为所创建对象的成员变量赋值

1.1为什么需要注入

“通过编码的方式,为成员遍历进行赋值,存在耦合”

1.2如何进行注入[开发步骤]

  • 类为成员变量提供set方法
  • 配置Spring的配置文件
            10                xiaojr    

1.3注入好处

1.解耦合

2.Spring注入的原理分析(简易版)

第五章、Set注入详解

针对于不同类型的成员变量,在<property>标签,需要嵌套其他标签

1.JDK内置类型1.1 String+8种基本类型

suns

1.2 数组

    suns@zp.com    lincu@zp.com    zhangsi@zp.com

1.3 Set集合

    1239188123    123813121    130111111    130111111 // 什么都能存

1.4 List集合

    zpark    shangdi    xierq

1.5 Map集合

注意: map -- entry -- key有特定的标签 值根据对应类型选择对应类型的标签            suns        4231324113                chenvn            

1.6 Properites

Properties类型 特殊的Map key=String value=String

    value1    value2

1.7 复杂的JDK类型(Date)

需要程序员自定义类型转换器,处理。

2.用户自定义类型2.1 第一种方式

  • 为成员变量提供set get方法

  • 配置文件中进行注入(赋值)

                    

2.2第二种方式

  • 第一种赋值方式存在的问题

    1. 配置文件代码冗余
    2. 被注入的对象(UserDao)多次创建,浪费(JVM)内容资源
  • 为成员变量提供set get方法

  • 配置文件中进行配置

                                            #Spring4.x废除了,基本等效 

3.Set注入的简化写法3.1基于属性简化

JDK类型简化注意:value属性 只能简化8种基本类型 + String注入标签用户自定义类型

3.2 基于p命名空间简化

用户自定义类型

第六章、构造注入

  1. 注入:通过Spring配置文件为成员变量赋值
  2. Set注入:Spring调用Set方法 通过配置文件为成员变量赋值
  3. 构造注入:Spring调用构造方法 通过配置文件为成员变量赋值

1.开发步骤

  • 提供有参构造方法
  • Spring配置文件
        

2.构造方法重载2.1 参数个数不同时

  1. 通过控制标签的数量进行区分

2.2构造参数个数相同时

  1. 通过在标签隐入 type属性 进行类型的区分

3. 注入的总结

  1. 未来的实战中 ,应用set注入还是构造注入?

    答案:set注入更多

    1. 构造注入麻烦(重载)
    2. Spring框架底层 大量应用了 set注入

作者:扬眉剑出鞘
出处: https://www.cnblogs.com/eyewink/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。