zoukankan      html  css  js  c++  java
  • Spring学习----自动装配@Resource、@Autowired、@Qualifier

    直接看下面的代码即可明白:

    applicationContext.xml里面添加个bean:

     <!--注解的注入  -->
     <bean id="student3" class="day01.di.annotations.annotation_di.Student"></bean>
     <bean id="person3" class="day01.di.annotations.annotation_di.Person" ></bean>
     <!-- 启动依赖注入的注解解析器 -->
     <context:annotation-config></context:annotation-config>
      

    java文件里面装配代码:

    public class Person {
        /*
         * @Resource(name="student3") 
         * private Student student;
         */
        /*
         * @Resource 
         * private Student student3;
         */
        /*
         * @Resource 
         * private Student studen;
         */
        /**
         * 注意:在使用@Resource时, 1、优先根据@Resource后面的name属性的值去applicationContext.xml文件里面去找
         * id=该值的bean进行装配,这时候如果找不到,就会报错 2、如果name省略不写,会根据注解下面的属性名去寻找然后注入
         * 3、如果寻找不到,就会根据我们想要装配的类型去寻找bean
         * 总结:先byname,然后bytype,byType是很危险的,如果同类型的多个bean存在于applicationContext.xml文件,那就会报错
         */
    
        /*
         * @Autowired //按照类型匹配 
         * private Student studen;
         */
    
        @Autowired
        @Qualifier("student3") // 先按照类型匹配然后按照id匹配(@Qualifier要依赖在@Autowired下面才有用)
        private Student studen;
        // 注解只能用于引用数据类型
    
        public void say() {
            this.studen.say();
        }
    
    }
  • 相关阅读:
    机器学习踩坑之Win10+Ubuntu双系统安装踩坑经验
    面向对象
    模块(三)
    模块(二)
    模块之日志
    包的基础使用
    模块介绍
    递归
    匿名函数与三元表达式
    生成器与迭代器
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/10688263.html
Copyright © 2011-2022 走看看