• spring in action 学习笔记五:@Autowired这个注解如何理解


      @Autowired这个注解的意思就是自动装配。他把一个bean对象自动装配到另一个对象中。下面的案例证明了spring的自动装配。

    定义一个Sixi类。代码如下:

     1 package com.qls.autowired.soundsystem;
     2 
     3 import org.springframework.stereotype.Component;
     4 
     5 /**
     6  * Created by ${秦林森} on 2017/6/8.
     7  */
     8 @Component
     9 public class Sixi {
    10     private String name;
    11 
    12     public String getName() {
    13         return name;
    14     }
    15 
    16     public void setName(String name) {
    17         this.name = name;
    18     }
    19 }

    定义一个Ouyangfeng类,这个类中把Sixi类自动装配进来,代码如下:

    package com.qls.autowired.soundsystem;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    
    /**
     * Created by ${秦林森} on 2017/6/8.
     */
    @Component
    public class Ouyangfeng {
        /**
         * @Autowired这个注解是自动装配。
         * 何为装配?the act of creating associations between application component is commonly referred
         * to as wiring(装配)。
         * 建立各个组件之间的联系的行为称为装配。
         * 何为自动装配:spring框架帮你装配。
         */
        @Autowired
        private Sixi sixi;
        public void ouyangfeng(){
            System.out.println("欧阳凤是泗溪村的大学生村官");
        }
        public Sixi getSixi(){
            return sixi;
        }
    }
    

    定义一个配置类:代码如下:

     1 package com.qls.autowired.soundsystem;
     2 
     3 import org.springframework.beans.factory.annotation.Autowired;
     4 import org.springframework.stereotype.Component;
     5 
     6 /**
     7  * Created by ${秦林森} on 2017/6/8.
     8  */
     9 @Component
    10 public class Ouyangfeng {
    11     /**
    12      * @Autowired这个注解是自动装配。
    13      * 何为装配?the act of creating associations between application component is commonly referred
    14      * to as wiring(装配)。
    15      * 建立各个组件之间的联系的行为称为装配。
    16      * 何为自动装配:spring框架帮你装配。
    17      */
    18     @Autowired
    19     private Sixi sixi;
    20     public void ouyangfeng(){
    21         System.out.println("欧阳凤是泗溪村的大学生村官");
    22     }
    23     public Sixi getSixi(){
    24         return sixi;
    25     }
    26 }

    定义一个测试类:代码如下:

    package com.qls.autowired.soundsystem;
    
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    /**
     * Created by ${秦林森} on 2017/6/8.
     */
    
    public class AutoWiredTest {
        public static void main(String[] args) {
            /**
             * AnnotationConfigApplicationContext
             */
            AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoWiredConfig.class);
            Sixi sixi = ac.getBean(Sixi.class);
            Ouyangfeng ouyangfeng = ac.getBean(Ouyangfeng.class);
            /**
             * 从Ouyangfeng这个类得到的Sixi这个对象如果和从容器中得到的Sixi对象相等,
             * 则说明spring已经完成自动装配。
             */
            System.out.println(ouyangfeng.getSixi()==sixi);
    
        }
    }/**output:ture
     */
     
    

    从测试类的结果可以看出Sixi这个bean确实已经自动装配到Ouyangfengz这个类中了。

  • 相关阅读:
    操作系统之进程篇(3)
    指针和数组及内存管理
    进程篇(3: 基本进程控制:进程的退出)--请参照本博客“操作系统”专栏
    Java面向对象程序设计--泛型编程
    进程篇(1: 进程运行环境)--请参照本博客“操作系统”专栏
    操作系统之进程篇(1)
    分类器性能指标之ROC曲线、AUC值
    如何理解似然函数?
    sigmoid函数简介
    Hive分析窗口函数
  • 原文地址:https://www.cnblogs.com/1540340840qls/p/6961176.html
Copyright © 2020-2023  润新知