spring注解中@component

                             spring注解中@component

spring注解中@component就是bai说把这个类交给Spring管理,du又一次起个名字叫zhiuserManager,因为不清楚这个类是属于哪个dao层面,所以就用@Component。

因为在持久层、业务层和控制层中,分别采用@Repository、@Service和@Controller对分层中的类进行凝视,而用@Component对那些比较中立的类进行凝视。

spring注解中@component

注解@component的原理

1、注解@Resource原理

1)启动spring容器,并且加载配置文件;

2)会为student和person两个类创建对象;

3)当解析到<context:annotation-config></context:annotation-config>会启动依赖注入的注解解析器;

4)会在纳入spring管理的bean的范围内查找看哪些bean属性上有@Resource注解;

(1)如果@Resource注解的name属性的值为"",则会把注解所在的属性的名称和spring容器中的bean的id进行匹配,若匹配成功,则把id对应的对象赋值给该属性;若匹配不成功,则按照类型进行匹配;若再匹配不成功,则报错;

(2)如果@Resource注解的name属性的值不为"",会把name的属性值和spring容器中的bean的id做匹配,如果匹配成功,则赋值;否则,直接报错。

说明:注解只能用于引用类型。

以@Resource注解(spring扩展包)和@[email protected]功能作用相同。

spring注解的作用:

1、spring作用在类上的注解有@Component、@Responsity、@Service以及@Controller;而@Autowired和@Resource是用来修饰字段、构造函数或者设置方法,并做注入的。

2、当注解作用在类上时,表明这些类是交给spring容器进行管理的,而当使用@Autowired和@Resource时,表明我需要某个属性、方法或字段,但是并不需要我自己去new一个,只需要使用注解, spring容器会自动的将我需要的属性、方法或对象创造出来。这就是通常所说的依赖注入和控制反转。