我何时应该使用@Component而不是@Service?

Rhu*_*lus 5 java spring software-quality spring-boot

我已经阅读过每个Spring注释中的@Component,@ Repository和@Service注释在Spring中的区别什么?

我知道@Component并且@Service在Spring Framework中几乎完全相同.它的区别在于它的用法,所以我只是使用我访问我的存储库@Service服务层.

我想知道什么是更好的选择方式@Component而不是@Service.请注意,我现在正在使用@Component我创建的工厂,因为工厂不需要处理存储库.

Mak*_*oto 7

请记住,这些是Spring的刻板印象,应该应用于通常应用围绕一个代码的刻板印象或假设.

  • 如果您的组件是通用组件,并非真正生活在服务层,或者可以访问但可以保持状态,那么请使用@Component.
  • 如果您的组件是特定服务,生活在服务层,或者可访问且本身具有状态,请使用@Service.

Spring最终将这两者视为@Components.