文章详情页
java中这四个注解有什么区别啊?项目中怎么都是混用?
浏览:181日期:2023-12-14 11:07:35
问题描述
@Component:@Controller@Repository@Service
问题解答
回答1:都是用来定义Bean的
@Component是最通用的
@Service,@Repository也是@Component,只不过赋予了不同的语义,便于代码阅读,其实这三个随便用也无所谓,Spring不会报错。
@Controller特殊,专门被Spring MVC处理,不能替换为另外三个。
回答2:@Service用于标注业务层组件
@Controller用于标注控制层组件(spring中的controller)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
回答3:@Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明确的地方。
回答4:只是语意上不同,作用都是一样
回答5:效果都是一样的**
回答6:这四个注解对机器来说运行效果一样。只有语义上的区别,告诉看代码的人这个类是哪个层面的组件
标签:
java
相关文章:
1. java - mybatis怎么实现在数据库中有就修改,没有就添加2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. MYSQL新建用户设置可以远程访问的问题4. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. 数据库 - mysql 远程可以连接,但是本地连接拒绝?7. mysql 5.7单表300万数据,性能严重下降,如何破?8. mysql 为何insert的时候会有lock wait timeout 异常9. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么10. mysql同步数据到elasticsearch用什么工具?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)