Spring的注入方式中,官方推荐哪种方式

目录

Spring 的注入方式

首先来看看 Spring 中的实例该如何注入,总结起来,无非三种方式

  • 属性注入
  • set 方法注入
  • 构造器注入

属性注入

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

@Service
public class BService {

    @Autowired
    AService aService;
    
    //...
}

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

set 方法注入

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

@Service
public class BService {

    AService aService;

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

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

构造方法注入

构造方法注入方式如下

@Service
public class AService {

    BService bService;
    
    @Autowired
    public AService(BService bService) {
        this.bService = bService;
    }
}
  • 如果类只有一个构造方法,那么 @Autowired 注解可以省略
  • 如果类中有多个构造方法,那么需要添加上 @Autowired 来明确指定到底使用哪个构造方法
上一篇:记录Spring事务+MyBatis一级缓存的一些坑


下一篇:Spring——annotation依赖注入