Spring 自动扫描注解
Person类
@Component
public class Person {
@Resource(name="stu")
private Student student;
}
Student 类
@Component("stu")
public class Student{
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:IOC.context="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--开启 自动类扫描/依赖注解扫描-->
<context:component-scan base-package="IOC.context"/>
在类上标注@Component
spring 容器会为该类创建对象 bean,如果@Component values为bean的ID值,如果为空,
则该bean ID为该类名(首字母小写)
类似的注解还有: @Controller @Service @Repository ,作用跟@Component一样
执行@Resource注解的流程
查看bean中的属性或者方法上有没有@Resource
1、 如果该注解的属性name的值为" ",则会按照属性的名称和spring中的ID进行匹配,
如果匹配成功,则赋值,如果匹配不成功,**则按照类型进行匹配**,如果类型匹配不成功,则报措
2、 如桌该注解的属性name不为" ",则按照该name值和spring中的ID值进行匹配,如果匹配则赋值,不匹配则报错
</beans>