文章详情页
java中这四个注解有什么区别啊?项目中怎么都是混用?
问题描述
@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. atom编译器 如何格式化前端代码文件?2. javascript - webpack热加载配置不生效3. css3 - 我的css用less写的,eclipse的jsp文件要修改css很麻烦,怎么解决?4. android - 新建项目卡在Gradle:Resolvedependencies’:app:_debugCompile’5. angular.js - ng-repeat的数据排序,我用了orderBy: d.supportNum为什么失效?6. python - Pycharm调试代码进行列表遍历时,如何直接赋值指定元素7. javascript - 关于在angularjs的select中遇到的问题!!8. android - NavigationView 的侧滑菜单中如何保存新增项(通过程序添加)9. android - 使用listview加载不同item,数据填充错误。10. python - 基于scrapy-redis的分布式爬虫运行的时候不能正常运行 遇到的问题如下截图所示
排行榜