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();
        }
    
    }
  • 相关阅读:
    飞机游戏
    nodejs制作爬虫程序
    关于解析字符串
    引用nodejs的url模块实现url路由功能
    appium定位学习
    appium移动端自动化测试的一些感想
    appium的工作原理
    appium desktop 定位弹出框时报错
    APPium连接真机输入框中输入的内容与代码中不一致
    appium 链接真机后,运行代码,但是APP并没有启动
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/10688263.html
Copyright © 2011-2022 走看看