39.@Autowired 注解有什么作用

@Autowired 注解有什么作用

@Autowired默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在(可以设置它required属性为false)。
@Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。

扩展

  • @Autowired注解默认按照类型容器中找到对应的组件:annotationContext.getBean(Person.class) 。
  • 如果找到多个相同类型的组件,再根据属性的名称作为组件id去spring容器中找:annotationContext.getBean(“person”) 。
  • required:属性默认为true,表示自动注入的Bean必须能够找到,否则就会报null,设置为false,可以在Spring容器自动注入Bean找不到的话,返回null,不会报错。
  • @Autowired可以和@Qualifie注解使用,用来指定注入的组件id,而不是使用属性名。
  • @Autowired默认先按Type进行匹配,如果找到多个bean,则又会按照组件id方式进行匹配(需要@Qualifier(“name”)配合)。
  • @Autowired表示被修饰的Java类需要注入对象,spring会自动扫描所有被@Autowired标注的类,然后根据在IOC容器中找到匹配的类进行自动注入。

@Autowired的使用范围

@Autowired注解可以使用在很多地方,包括 构造器、方法、参数、成员变量、注解。我们直接从源码中也可以看出

 

猜你喜欢

转载自blog.csdn.net/weixin_43860634/article/details/135009307