Spring对象装配

     

目录

一.对象装配的三种方法

1.属性注入

2.setter方法注入

3.构造函数注入


在spring中,Bean的执行流程为启动spring容器,实例化bean,将bean注册到spring容器中,将bean装配到需要的类中。

既然我们需要将bea装配到需要的类中,那么如何实现呢?这篇文章,将来阐述一下如何实现将bean装配到需要的类中,我们叫它对象装配或者对象注入。

一.对象装配的三种方法

对象装配主要有三种方法:

1.属性注入

2.构造方法注入

3.setter方法注入

1.属性注入

属性注入可以使用@Autowired注解,这相当于从spring里拿了一个对象。

属性注入:优点是简单方便,易于使用。缺点是只能在IoC容器使用,不能在非IoC容器使用。,并且只有在使用的时候才会出现空指针异常,很容易违背单一设计原则

(虽然缺点多,但依然是最常用的在目前,因为它的优点简单易用让它非常突出,如果违反了单一原则也可以通过代码来解决)

fe3b07659f48488fadc2234463213f6b.png

2.setter方法注入

Setter方法注入:

优点是完全符合单一设计原则,因为使用set方法传参就是只传入一个对象

缺点是无法注入一个不可变对象(final修饰的对象),注入的内容可以被修改(可以调用set方法修改)

Settr方法是spring早期推荐的注入方法,在通用性上不如构造方法,现在的spring以及推荐使用构造方法注入的方式来进行注入。

6ec2af78c5c3476f80fbed1305d5d30b.png

3.构造函数注入

构造方法注入:

构造方法注入式spring官方推荐的注入方式,它的优点是通用性好,在注入之前能够保证注入的对象不为空。可以注入不可变对象,注入的内容不可以被修改,注入的对象会被完全初始化

它的缺点是如果有多个注入会显得臃肿,代码量多。

be6fcc110c6a43fe98822645b1e32e55.png

单一设计原则(简单点说,就是一个类只干一件事情,只负责一个职责,对于一个类,不能让它负责多个职责)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值