【ZeyFraのWeb开发经验09】关于Field injection is not recommended的警告提示

【ZeyFraのWeb开发经验09】关于Field injection is not recommended的警告提示

【问题描述】

Field injection is not recommended
不再推荐使用字段注入

【解决办法】

该警告是在spring framework4.0的时候出现的,spring 4.0开始就不推荐使用属性注入,改为构造器注入和setter注入。
(这都不知道的话= =那我来解释一下)

//基于构造器注入
//基于构造函数注入的主要优点是可以将需要注入的字段声明为final
//使得它们会在类实例化期间被初始化,这对于所需的依赖项很方便
@Component
public class Demo{

    private final User user;

    @Autowired
    public Demo(User user) {
        this.user = user;
    }
}

//--------------------------------------------------------------
//基于Setter注入
//一旦使用无参数构造函数或无参数静态工厂方法实例化Bean
//为了注入Bean的依赖项,Spring容器将调用这些setter方法。
@Component
public class Demo{

    private User user;

    @Autowired
    public setUser(User user) {
        this.user = user;
    }
}

//其实@Autowired在构造器注入时和Setter是可以省略的,这一点可以参考官方文档
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值