ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2.18 @Autowired注解

2020-10-10 08:32:03  阅读:258  来源: 互联网

标签:lang java Autowired author 2.18 注解 ElementType annotation


戴着假发的程序员出品  抖音ID:戴着假发的程序员  欢迎关注

[查看视频教程]

查看@Autowired注解源码:

1 package org.springframework.beans.factory.annotation;
2 
3 @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.ANNOTATION_TYPE})
4 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
5 @java.lang.annotation.Documented
6 public @interface Autowired {
7     boolean required() default true;
8 }

 

我们会发现Autowired有属性required,默认是true。

@AutoWired注解和bean标签中的autoWired属性差不多,可以通知spring帮我们自动组装Bean,例如:

 1 /**
 2  * @author 戴着假发的程序员
 3  *  
 4  * @description
 5  */
 6 @Component
 7 public class ArticleService {
 8     @Autowired
 9     private IAutorDAO autorDAO;
10     @Autowired
11     private IArticleDAO articleDAO;
12 
13     public int save(String title){
14         String author = autorDAO.get();
15         System.out.println("ArticleService-save:");
16         System.out.println("author:"+author);
17         return articleDAO.save(title);
18     };
19 }

@Autowired注解可以写在成员变量上方,当然那也可以写在对应的setter方法上。 当然如果没有setter方法,我们会发现spring依然可以帮我们注入这些属性。

@Autowired默认首先是按照类型注入的,如果在当前容器中找到了多个同种类型的bean,就按照名称注入,如果一个都没找到就抛异常。

当然我们也可以通过修改属性required为false,通过spring如果找不到就组装。

标签:lang,java,Autowired,author,2.18,注解,ElementType,annotation
来源: https://www.cnblogs.com/jiafa/p/13790028.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有