目录
  1. 1. spring的属性注入
    1. 1.1. set方式注入(常用)
    2. 1.2. 有参构造函数方式注入
    3. 1.3. 注入对象类型参数
    4. 1.4. P名称空间注入
    5. 1.5. 各种复杂类型的属性注入
      1. 1.5.1. Person类
      2. 1.5.2. 数组
      3. 1.5.3. list集合
      4. 1.5.4. map集合
      5. 1.5.5. properties类型
spring属性注入

spring的属性注入

  • spring框架目前支持两种注入方式
    • set方式注入(常用)
    • 有参构造函数注入

set方式注入(常用)

这个比较简单,两幅图带过,原理是通过对应属性的 set 方法来注入

spring配置文件的写法:

image

后面那些初始化方法,销毁方法以及作用域忽视掉这里没啥用

People类:

image

自己测试的话就要实例化一个容器

1
2
3
ApplicationContext ct = new ClassPathXmlApplicationContext("classpath:bean.xml");
People people = (People) ct.getBean("people");
System.out.println(people);

有参构造函数方式注入

这个没有上一个常用但是我们见到了以后也要知道

spring配置文件写法:

image-20200129134330532

PropertyDemo1类:

image-20200129135048657

这里用的标签是 consructor-arg,通过测试一样可以注入

注入对象类型参数

上面两种都是String类型的属性注入,比如说我想在 UserService 中调用 UserDao 的 add 方法,我要把他注入进来这该怎么做?

其实同理把实例化的过程交给 spring,让他来帮助我们实例化,我们只管调用就行

spring配置文件写法:

image

UserService类:

image

UserDao类:

image-20200129135450249

对象类型的注入,也就是在类里定义一个要调用的类的属性,并给出set方法,然后spring通过set方法注入

P名称空间注入

这个方法不怎么用过,简单记录一下,首先我们在配置文件上面 beans 标签的命名空间那里加一行,如下图:

image

image

Person类:

image

通过这种方式也能达到属性的注入

各种复杂类型的属性注入

感觉比较有用记录一下,也是通过set方式注入

Person类

image-20200129142156169

数组

image

list集合

image

map集合

image

properties类型

image

简单测试一下:

image

完美!

文章作者: Archiver
文章链接: https://www.kaiming66.com/2020/01/23/Java/%E5%B1%9E%E6%80%A7%E6%B3%A8%E5%85%A5/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Archiver`s Blog
打赏
  • 微信
  • 支付寶

评论