Spring的注解形式:@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。

@Repository、@Service、@Controller 和 @Component 将类标识为Bean

一、@Repository的使用

Spring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类路径中的类并识别出 @Repository 注解,需要在 XML 配置文件中启用Bean 的自动扫描功能,这可以通过<context:component-scan/>实现。如下所示:

二、@Repository的特点

为什么 @Repository 只能标注在 DAO 类上呢?这是因为该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。

三、@Repository、@Service、@Controller

Spring 2.5 在 @Repository的基础上增加了功能类似的额外三个注解:@Component、@Service、@Constroller,它们分别用于软件系统的不同层次:

@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
@Service 通常作用在业务层,但是目前该功能与 @Component 相同。
@Constroller 通常作用在控制层,但是目前该功能与 @Component 相同。

转载自:https://blog.csdn.net/qq_40943786/article/details/80966170

Spring的注解形式:@Repository、@Service、@Controller相关推荐

  1. 使用Spring的@Autowired 实现DAO, Service, Controller三层的注入(转)

    简述: 结合Spring和Hibernate进行开发 使用@Autowired实现依赖注入, 实现一个学生注册的功能,做一个技术原型 从DAO(Repository) -> Service -& ...

  2. Spring Boot Bean的使用,@Repository,@Service,@Controller,@Component

    前言 在Spring MVC的时候,我们使用xml来配置bean,如今的Spring boot推荐我们使用元注解的发生,那就听Spring Boot的推荐,下面我就为大家来介绍下Spring Boot ...

  3. Spring-Boot-Bean的使用,@Repository,@Service,@Controller,@Component

    前言 在Spring MVC的时候,我们使用xml来配置bean,如今的Spring boot推荐我们使用元注解的发生,那就听Spring Boot的推荐,下面我就为大家来介绍下Spring Boot ...

  4. @Repository , @Service , @Controller 和 @Component

    用Spring MVC时@Controller注解的类将变成一个Spring MVC的控制器. 不用Spring MVC的情况下, 这四个注解没有区别. 根据注解的语义, 注解在类上面可以提高代码的可 ...

  5. sessionattribute 被spring 扫描不到_Spring 系列之 Spring 常用注解总结(肝硬化的干货)...

    传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1. 如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml ...

  6. java合集系列之pring@Component @Repository@Service的区别

    问题 在spring集成的框架中,注解在类上的@Component,@Repository,@Service等注解能否被互换?或者说这些注解有什么区别? 回答1 引用spring的官方文档中的一段描述 ...

  7. Spring通过注解的形式 将bean以及相应的属性值 放入ioc容器

    步骤一:在applicationContext.xml中配置扫描器,多个包名之间以逗号隔开 <?xml version="1.0" encoding="UTF-8& ...

  8. Spring系列之Spring常用注解总结

    参看博客:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺 ...

  9. Spring常见注解

    1.@SpringBootApplication 这里先单独拎出 @SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它. 这个注解是 Spring Boot 项目的基 ...

最新文章

  1. JS三种简单排序算法
  2. varchar与varchar2的区别
  3. linux服务器登录时慢出现卡顿
  4. html设置外边距不合并,CSS外边距合并代码
  5. 对hashMap中的value进行排序
  6. 2020年网络游戏产业现状
  7. DSP的入门学习(一)
  8. linux 中文乱码 解决方法
  9. 前沿Perspective | 空间转录组数据分析方法最新进展
  10. 求一阶微分方程通解和特解
  11. HS6621CG 片上 Flash 读写
  12. 微信小程序实现微信APP上的扫一扫扫码跳到小程序对应的结果页面和签字等功能
  13. 【官网】飞腾 2000 处理器
  14. 各种注释-注释多行与取消多行注释快捷键
  15. CityMaker学习教程07 示例代码的使用CSharp
  16. unity3d 如何UI优化和减少DC(DrawCall)
  17. Unity 常用射线检测方法
  18. Elasticsearch CCR 运作原理,以及如何在kibana上操作它
  19. 词频分析--字典树的应用
  20. 我们如何看待现阶段的人工智能?

热门文章

  1. DataGridView 实现记录颜色间隔交替显示
  2. VC++中使用内存映射文件处理大文件
  3. 机器学习算法(7)——K近邻(KNN)、K-means、模糊c-均值聚类、DBSCAN与层次与谱聚类算法
  4. sd卡有多个android文件夹,android - 如何adb拉出SD卡中存在的文件夹的所有文件
  5. 如何确定图片名未改变 php,这里未改变的是数据库中默认的数据,比如修改时间?,还有发布用户名?...
  6. 7-8 树的遍历 (10 分)
  7. 创建mysql制定字符集语句_创建数据库指定字符集语句
  8. java控制器_Java用户界面 模型-视图-控制器(MVC)模式
  9. java仔_Java基础语法吐血整理
  10. mysql集群如何保障数据分布均匀_如何保证数据库集群时候,主从库一致性的问题?...