在java方法、构造器位置使用@Autowired自动装配

 时间:2026-02-14 06:38:07

1、首先新建一个Boss实体类,在这个实体类中有一个其他的组件。

package com.gwolf.vo;

import org.springframework.stereotype.Component;

@Component

public class Boss {

        private Car car;

        

        public Car getCar() {

                return car;

        }

        

        public void setCar(Car car) {

                this.car = car;

        }

        

        @Override

        public String toString() {

                return "Boss [car=" + car + "]";

        }

        

}

在java方法、构造器位置使用@Autowired自动装配

2、现在在方法上标注@Autowired注解,使用这个注解之后Spring容器创建当前对象的时候就会调用这个方法,完成赋值。

方法使用的参数,自定义的类型的值从IOC容器中获取。

在java方法、构造器位置使用@Autowired自动装配

3、编写一个junit测试类取得vo的组件,然后打印值。

package com.gwolf.test;

import org.junit.Test;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.gwolf.config.MainConfigOfAutowired;

import com.gwolf.vo.Boss;

public class ComponentTest {

        AnnotationConfigApplicationContext applicationContext = 

                        new AnnotationConfigApplicationContext(MainConfigOfAutowired.class);

        

        @Test

        public void testImport() {

                Boss boss = (Boss)applicationContext.getBean(Boss.class);

                

                System.out.println(boss);

                

        }

}

在java方法、构造器位置使用@Autowired自动装配

4、也可以在构造器中注入组件,默认加在IOC容器中的组件,容器启动会调用无参构造器创建对象,再进行初始化赋值等操作。

package com.gwolf.vo;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Component;

@Component

public class Boss {

        private Car car;

        

        @Autowired

        public Boss(Car car) {

                this.car = car;

        }

        

        public Car getCar() {

                return car;

        }

        

        public void setCar(Car car) {

                this.car = car;

        }

        

        @Override

        public String toString() {

                return "Boss [car=" + car + "]";

        }

        

}

在java方法、构造器位置使用@Autowired自动装配

5、如果组件只有一个参数构造器,这个有参构造器的@Autowired可以省略,参数位置的组件还是可以紫宗从容器中获取。

@Bean标注的方法创建对象的时候,方法参数的值也是从容器中获取。

在java方法、构造器位置使用@Autowired自动装配

6、上图中Color对象初始化的时候会自动从容器中把car注入到Color中。

  • 坎公骑冠剑火队阵容怎么搭配
  • VBA中for each...next循环语句之应用(一)
  • sql server编辑查询窗口怎么自动换行
  • 用chrome浏览器控制台创建js小脚本
  • UltraEdit 如何取消自动备份文件功能?
  • 热门搜索
    南通旅游景点 烟台旅游攻略 石家庄周边旅游景点 密云旅游景点大全 华东五市旅游线路 济南旅游景点大全 西安旅游景点大全 泰州旅游 青海旅游景点大全 十一旅游