首页  >  问答  >  正文

java中这四个注解有什么区别啊?项目中怎么都是混用?

@Component:
@Controller
@Repository
@Service

曾经蜡笔没有小新曾经蜡笔没有小新2713 天前554

全部回复(6)我来回复

  • 世界只因有你

    世界只因有你2017-05-17 10:02:19

    都是用来定义Bean

    • @Component是最通用的

    • @Service@Repository也是@Service@Repository也是@Component,只不过赋予了不同的语义,便于代码阅读,其实这三个随便用也无所谓,Spring不会报错。

    • @Controller特殊,专门被Spring MVC处理,不能替换为另外三个。

    回复
    0
  • 阿神

    阿神2017-05-17 10:02:19

    @Service用于标注业务层组件

    @Controller用于标注控制层组件(spring中的controller)

    @Repository用于标注数据访问组件,即DAO组件

    @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-17 10:02:19

    @Controller 就是用在controller, @Service 用在service, @Repository 用在dao, @Component用在其他不明确的地方。

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-17 10:02:19

    只是语意上不同,作用都是一样

    回复
    0
  • 某草草

    某草草2017-05-17 10:02:19

    效果都是一样的**

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:02:19

    这四个注解对机器来说运行效果一样。只有语义上的区别,告诉看代码的人这个类是哪个层面的组件

    回复
    0
  • 取消回复