据我所知,@Service它用于将类标记为业务逻辑类.为什么春天有用?我已经可以@Component用来将类标记为bean.我明白@Service比具体而言@Component,但如何?
Dha*_*ria 17
将@Component注释视为瑞士刀.它可以作为切割刀,开罐器,剪刀等.
同样,您的Component可以充当存储库,Business Logic类或控制器.
现在,@Service只是其中一个版本@Component,比如一把刀.
Spring过程@Service类似于@Component,因为@Service接口本身是用注释的@Component.
来自Spring docs:
Run Code Online (Sandbox Code Playgroud)@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Component public @interface Service表示带注释的类是"服务"(例如,业务服务外观).
为什么要区分它们?
要应用编程的基本规则:您的代码应易于阅读.
是的,您可以@Component在任何地方使用注释,它可以正常工作,但为了更好地理解代码,最好使用相应的特殊类型的注释,如@Service我们的情况.
另一个好处是易于调试.一旦你知道错误,你就不必希望从一个组件类到另一个组件类,检查它是否是该类是服务,存储库或控制器.
San*_*kar 16
@ Service,@ Controller,@ Repository = {@Component +一些更特殊的功能}
点击以下链接了解更多详情
Spring中的@ Component,@ Repository和@Service注释有什么区别?
@Component注释将java类标记为bean,因此spring的组件扫描机制可以将其拾取并将其拉入应用程序上下文.@Service注释也是组件注释的特化.它目前不提供@Component注释的任何其他行为,但在服务层类中使用@Service而不是@Component是一个好主意,因为它更好地指定了intent.此外,工具支持和其他行为可能在将来依赖于它.
小智 6
@Service 注释是组件注释的特殊化。它目前不提供任何超过 @Component 注释的附加行为,但在服务层类中使用 @Service 而不是 @Component 是一个好主意,因为它可以更好地指定意图。此外,工具支持和其他行为将来可能会依赖它。
\n| 归档时间: |
|
| 查看次数: |
25987 次 |
| 最近记录: |