@Autowired

自动装配,自动为这个属性赋值。spring会自动为这个属性赋值,一定是去容器中找到这个属性对应的组件

/*
* 自动装配,自动为这个属性赋值
* spring会自动为这个属性赋值,一定是去容器中找到这个属性对应的组件
*/
@Autowired
private StudentService studentService;



@Autowired原理

先按照类型去容器中找对应的组件,类似于如下

studentService = ioc.getBean(StudentService.class);

  • 如果找到一个,就赋值
  • 没找到,就抛异常(studentService==null)
  • 如果找到多个,则按照变量名作为id(studentService),继续匹配
    • 如果没找到,就抛异常(studentService==null)

@Qualifier("studentService")可以指定一个名作为id

@Autowired
@Qualifier("studentService")
private StudentService studentService;



方法上使用@Autowired注解

  • 这个方法也会在bean创建的时候自动运行
  • 这个方法的每一个参数都会自动注入值

/**
* 方法上有@Autowired注解
* 1、这个方法也会在bean创建的时候自动运行
* 2、这个方法的每一个参数都会自动注入值
*
* @param person
*/
@Autowired
public void getStudent(Person person) {
System.out.println("spring运行了这个方法...."+person);
}



回到顶部