【问题标题】:What will happen if we interchange various annotations like @Service, @Controller and @Repository? [duplicate]如果我们互换@Service、@Controller 和@Repository 等各种注解会发生什么? [复制]
【发布时间】:2021-11-01 18:49:42
【问题描述】:

如果我们互换@Service、@Controller 和@Repository 等各种注解会发生什么? 我知道使用这些注释来表示 spring 组件是最好的做法,但是如果我们不这样做会发生什么?

【问题讨论】:

  • 什么意思?你会用什么代替?只有@Component 还是以编程方式注册bean?
  • 检查这个:stackoverflow.com/questions/6827752/… 基本上它们都被捕获为 bean,但截取方式不同,例如 @Repository 有一个额外的异常翻译层

标签: java spring controller


【解决方案1】:

基本上@Component 是一个通用注解原型,而@Service、@Repository 和@Controller 只是具有更多语义意义的子类型,归根结底,使用这些注解你只是在 spring 容器中注册一个 bean,如果你交换那些注释,你的应用程序会像以前一样工作。

当然,如果你有一个 JpaRepository 实现,例如你想使用@Repository 注解而不是@Controller,只是举个例子。

【讨论】:

    猜你喜欢
    • 2016-05-28
    • 2013-03-09
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2016-07-10
    • 1970-01-01
    相关资源
    最近更新 更多