当前位置: 首页 > 面试题库 >

Spring中的@ Component,@ Repository和@Service批注有什么区别?

辛锦
2023-03-14
问题内容:

@Component,@Repository@Service注释可以在Spring中互换使用吗,或者除了用作注释设备之外,它们还提供任何特定功能吗?

换句话说,如果我有一个Service类,并且将注释从更改@Service@Component,它的行为是否仍将相同?

还是注释也会影响类的行为和功能


问题答案:
本文向大家介绍Spring中的@ Component,@ Repository和@Service批注有什么区别?相关面试题,主要包含被问及Spring中的@ Component,@ Repository和@Service批注有什么区别?时的应答技巧和注意事项,需要的朋友参考一下

从Spring文档:

在Spring 2.0和更高版本中,@Repository注释是满足存储库角色或构造型(也称为数据访问对象或DAO)的任何类的标记。该标记的用途包括自动翻译例外。

Spring 2.5中引入了进一步典型化注解:@Component, @Service,和@Controller。@Component是任何Spring托管组件的通用构造型。@Repository,@Service和@Controller分别是@Component针对特定用例的专业化,例如分别在持久性,服务和表示层。

因此,你可以用你的注解组件类@Component,但如果用注解它们@Repository@Service或者@Controller ,你的类能更好地适合于通过工具处理,或与切面进行关联。例如,这些构造型注释成为切入点的理想目标。

因此,如果你在使用@Component还是@Service在服务层之间进行选择,@Service显然是更好的选择。同样,如上所述,@Repository在持久层中已经支持作为自动异常转换的标记。

┌────────────┬─────────────────────────────────────────────────────┐
│ Annotation │ Meaning                                             │
├────────────┼─────────────────────────────────────────────────────┤
│ @Component │ generic stereotype for any Spring-managed component │
│ @Repository│ stereotype for persistence layer                    │
│ @Service   │ stereotype for service layer                        │
│ @Controller│ stereotype for presentation layer (spring-mvc)      │
└────────────┴─────────────────────────────────────────────────────┘


 类似资料:
  • 问题内容: ,和释可以在Spring中互换使用吗,或者除了用作注释设备之外,它们还提供任何特定功能吗? 换句话说,如果我有一个Service类,并且将注释从更改为,它的行为是否仍将相同? 还是注释也会影响类的行为和功能? 问题答案: 从Spring文档: 在Spring 2.0和更高版本中,注释是满足存储库角色或构造型(也称为数据访问对象或DAO)的任何类的标记。该标记的用途包括自动翻译例外。 S

  • 本文向大家介绍Spring中@Bean和@Component批注之间的区别。,包括了Spring中@Bean和@Component批注之间的区别。的使用技巧和注意事项,需要的朋友参考一下  Spring支持多种类型的注释,例如@ Component,@ Controller,@ service @Repository和@Bean。所有这些都可以在org.springframework.stereo

  • 我在一个网站上使用JPA。在探索了保存数据的选项之后,我发现了两种方法。第一种方法是使用javax . persistence . EntityManager的实现。一旦我获得了EntityManager的实例,我就可以用它来保存实体。举个例子, 另一种选择是使用 org.springframework.data.repository.CrudRepository 的实例。第一,我获得了CrudR

  • 我的spring应用程序有点小问题。下面是我的代码: (存储库) 下面是我的简单服务类: 更新:配置

  • 本文向大家介绍Spring @Configuration和@Component的区别,包括了Spring @Configuration和@Component的区别的使用技巧和注意事项,需要的朋友参考一下 Spring @Configuration 和 @Component 区别 一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同