spring 字段注入和构造器注入

1.1 属性注入

属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下:

@Service
public class BService {
    @Autowired
    AService aService;
    //...
}

这里是使用 @Autowired 注解注入。另外也有 @Resource 以及 @Inject 等注解,都可以实现注入。

不过不知道小伙伴们有没有留意过,在 IDEA 里边,使用属性注入,会有一个警告⚠️:

不推荐属性注入!

原因我们后面讨论。

1.2 set 方法注入

set 方法注入太过于臃肿,实际上很少使用:

@Service
public class BService {
    AService aService;

    @Autowired
    public void setaService(AService aService) {
        this.aService = aService;
    }
}

这代码看一眼都觉得难受,坚决不用。

1.3 构造方法注入

构造方法注入方式如下:

@Service
public class BService {
    AService aService;
    @Autowired
    public BService(AService aService) {
        this.aService = aService;
    }
}

如果类只有一个构造方法,那么 @Autowired 注解可以省略;如果类中有多个构造方法,那么需要添加上 @Autowired 来明确指定到底使用哪个构造方法。

注入这里三种方式 AService都是交给spring管理了的!https://segmentfault.com/a/1190000040849285

posted @ 2024-05-25 10:21  卡卡西殿  阅读(135)  评论(0)    收藏  举报