spring注入概念set注入和构造注入讲解

本文深入解析Spring框架中的依赖注入概念,包括set注入和构造注入两种方式。通过具体示例,阐述了如何在service层和dao层之间进行依赖注入,以及在不同场景下选择合适注入方式的考量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

19/7/24/1:09
set注入:
首先你要明白注入一词在spring的意义,为什么要进行注入操作,当我们准备将对象交由spring容器进行管理时,
你需要这个对象的已有属性,具备那些属性值,从而使用注入,将准备交给spring管理的对象的属性进行赋值,叫做注入。

在spring的set注入和构造注入不同层之间注入需要准备什么(例如:service层,dao层)
解答:
1.在set注入中,例如:service需要到dao对象,那么service就需要声明dao的私有变量,
也就是说dao成为了service的一个属性( 正确应该这么说:service中有个属性是 dao),我们在将service交给spring管理时,希望service的 dao属性具备什么具体的值
所以需要生成service中声明的dao属性对应的set方法,这样spring无论是@注解的set注入,还是xml配置文件的set注入
都是将容器中的dao进行注入,(前提dao已经交由spring管理),从而在service交给spring管理时,
service的dao属性具备了我们想要的注入的值。所以注入其实就是在为让我们的对象交给spring管理时所做的准备工作。

构造注入:
2.同上问题,service需要写一个构造方法,构造参数是我们service需要的dao,在进行将service准备交给spring容器管理时
我们需要对构造函数进行赋值,xml的方式是bean里面的property改为constructor-arg,并将需要的构造参数进行注入
注解方式是在service中dao属性上进行注解方式的“值类型”或者“引用类型”的注入在私有变量上进行构造参数的注解注入,
注意:引用类型的注入前提是该引用值已经交由spring管理,(一般的构造注入我都是使用xml方式进行注入,注解方式没有用过,需带确定以上所诉操作是否正确)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值