Spring注释@Repository和@Service

Blu*_*Sky 70 spring

使用@Repository@Service有什么好处?

不要告诉我有关组件扫描等的信息,我期待一些额外的好处或功能,如果有的话.

如果我不使用它会发生什么?我会失踪的是什么?

Don*_*ows 72

有几个原因:

  1. 使用更具体的注释来定位切入点更容易.千万不能小看这个用处!
  2. @Repository注释与它携带了一些附加功能:它会导致异常被包裹起来作为DataAccessException小号.
  3. @Service注释可能获得额外的语义在未来,但它没有发生过......


Luc*_*sio 65

@Repository注释(在Spring 2.0引入)和@Service注释(在Spring 2.5引入)是专业化@Component注释.

使用的主要优点@Repository@Service以上@Component是很容易编写的目标,例如,所有类注释与AOP切入点@Repository.

此外,专门的注释有助于清楚地划分应用程序层(在标准的3层应用程序中).


nic*_*ild 5

我相信Spring在添加这些Component注释时会考虑两件事.

  1. 它们可用于指定用该子组件注释的所有对象的点切割.(所有@Repository或所有@Service切入点)
  2. 我认为Spring还提到他们将为他们添加一些未来的功能.(我没有引用这个,我只是觉得我在某个地方读过这个)