• 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();
        }
    
    }
  • 相关阅读:
    wget时http无效问题
    mysql8.0.15的最简单安装
    创建时间时jdbcType使用的准确性
    fastJson的几种转换模式
    (mybatis)EnumTypeHandler和EnumOrdinalTypeHandler的区别
    在文件上传时fileName.endsWith()的获取后悔
    day22
    day21
    day20
    day19
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/10688263.html
Copyright © 2020-2023  润新知