Spring中的@Service与@Component [重复]

Posted

技术标签:

【中文标题】Spring中的@Service与@Component [重复]【英文标题】:@Service vs @Component in Spring [duplicate] 【发布时间】:2019-10-09 03:15:48 【问题描述】:

我了解@Component 和@Controller、@Component 和@Repository 之间的区别,但找不到与@Component 相比我们在@Service 中获得的额外功能。

【问题讨论】:

回答:***.com/questions/6827752/… 【参考方案1】:

我们可以对每个 bean 直接使用@Component,但为了更好地理解和维护大型应用程序,我们使用@Controller, @Service, @Repository

@Component: generic stereotype for any Spring-managed component 
@Service: stereotype for service layer

@Component

@Controller、@Service 和@Repository 注释的定义告诉@Service 是@Component 的一种特殊类型。特殊类型的注解也会被扫描,因为它们本身带有@Component注解,这意味着它们也是@Components。如果我们定义自己的自定义注解并使用@Component 进行注解,它也会被<context:component-scan> 扫描

@Component
public @interface Service 
    ….


@Component
public @interface Repository 
    ….


@Component
public @interface Controller 
    …

@Service

@Service bean 在存储库层中保存业务逻辑和调用方法。

【讨论】:

以上是关于Spring中的@Service与@Component [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Roo_Service_Impl.aj 中的 Spring Roo 错误

017 包扫描器和标记注解

@Controller,@Service,@Repository,@Component你搞懂了吗?

Spring 将属性文件中的值读入 @SpringBootApplication 类

spring注解@service括号中的service有啥用

@Component, @Repository, @Service的区别