component注解(component注解和bean)

各位网友们好,相信很多人对component注解都不是特别的了解,因此呢,今天就来为大家分享下关于component注解以及component注解和bean的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录一览1

各位网友们好,相信很多人对component注解都不是特别的了解,因此呢,今天就来为大家分享下关于component注解以及component注解和bean的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录一览

  • 1、@Component注解的用法
  • 2、spring注解中@component是什么意思

@Component注解的用法

遇到的问题

踩到一个坑,有一个接口,在这个接口的实现类里,需要用到@Autowired注解,一时大意,没有在实现类上加上@Component注解,导致了Spring报错,找不到这个类

一旦使用关于Spring的注解出现在类里,例如我在实现类中用到了@Autowired注解,被注解的这个类是从Spring容器中取出来的,那调用的实现类也需要被Spring容器管理,加上@Component

开发中难免会遇到这个这个注解@Component

@Controller 控制器(注入服务)
用于标注控制层,相当于struts中的action层

@Service 服务(注入dao)
用于标注服务层,主要用来进行业务的逻辑处理

@Repository(实现dao访问)
用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件
.

@Component (把普通pojo实例化到spring容器中,相当于配置文件中的 )

泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。

spring注解中@component是什么意思

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

因为在持久层、业务层和控制层中,分别采用@Repository、@Service和@Controller对分层中的类进行凝视,而用@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扩展包)和@Autowired@Qualifier功能作用相同

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 449@qq.com 举报,一经查实,本站将立刻删除。本文链接:https://www.hnhgjc.com/n/264852.html

(0)
jindon的头像jindon
上一篇 2023-04-30
下一篇 2023-04-30

相关推荐

联系我们

qq:65401449

在线咨询: QQ交谈

邮件:65401449@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信