码迷,mamicode.com
首页 > 其他好文 > 详细

@Autowired使用说明

时间:2019-06-20 14:18:59      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:说明   vat   遇到   stc   构造   oid   空指针   auto   rest   

注入顺序

@Autowired先以类型进行注入,再以名称进行注入,而且@Resource以名称进行注入,不太推荐。

指定名称

@Autowired遇到多个同继承类时可能会出问题,建议带个@Qualifier指定下名称。

使用方式

建议不要用在字段上,可能因未初始化而报空指针,建议用在setter或构造器上。

初始化顺序

Java变量初始化顺序:静态变量或静态语句块 > 实例变量或初始化语句块 > 构造方法 > @Autowired

官方推荐写法

  • 构造注入
@RestController
public class PersonController {

    private final PersonService personService;

   /**
     * Spring Team建议:“始终在bean中使用基于构造函数的依赖注入。始终使用断言来强制依赖”。
     */
    @Autowired
    public PersonController(@Qualifier("personService") PersonService personService){
        Assert.notNull(personService, "personService must not be null");
        this.personService = personService;
    }
}
  • set注入
@RestController
public class PersonController {

    private PersonService personService;

    @Autowired
    @Qualifier("personService")
    public void setPersonService(PersonService personService) {
        this.personService = personService;
    }
}

@Autowired使用说明

标签:说明   vat   遇到   stc   构造   oid   空指针   auto   rest   

原文地址:https://www.cnblogs.com/liehen2046/p/11058386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!