程序员社区

注解 @Resource 和 @Autowire

@Autowire

  • 作用:可以对类成员变量,方法以及构造函数进行标注,让spring完成bean自动装配(spring通过依赖注入创建实例)的工作。
  • @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    //java项目www.fhadmin.org
    public @interface Autowired {
    
    	/**
    	 * Declares whether the annotated dependency is required.
    	 * <p>Defaults to {@code true}.
    	 */
    	boolean required() default true;
    
    }
    

    使用:

  • //java项目www.fhadmin.org
    public class ConditionTitleServiceImpl implements IConditionTitleService {
     
     	//创建类的实例,无需new对象
        @Autowired
        private IDataResourceDao iDataResourceDao;
        
        //set方法使用
        private People people;
        @Autowired
        public void setPeople(People people){
    		this.people = people;
    	}
        
        //构造法方法的使用
        private People people;
        @Autowired
        public ConditionTitleServiceImpl(People people){
    		this.people = people;
    	}
    	……
    }
    

    @Resource

  • 作用:按照名字进行匹配,如果没有找到同名bean,则按照类型进行匹配,最终实现让spring完成bean自动装配(spring通过依赖注入创建实例)的工作。
  • @Target({TYPE, FIELD, METHOD})
    @Retention(RUNTIME)
    @Repeatable(Resources.class)
    public @interface Resource {
      ……
    }
    

    使用

  • //java项目www.fhadmin.org
    public class ConditionTitleServiceImpl implements IConditionTitleService {
        @Resource
        private IConditionTitleDao iConditionTitleDao;
    	……
    }
    

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 注解 @Resource 和 @Autowire

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区