【Java进阶营】你所不知道的Spring 中的注解与分层思想

本文探讨了Spring框架中如@Controller, @Service, @Component, @Repository等注解的用途,强调了Service层在软件分层设计中的角色,解释了为何在DAO层之上设置Service层以增强模块化和可维护性。通过分析,文章指出过度庞大且职责不清的Service层的问题,并提出了改进方案,包括将业务逻辑归并于领域模型对象和应用服务中。最后,根据Domain Driven Design,区分了Domain Service、Application Service和Infrastructure Service的区别。" 103370805,8526507,RGB与HSV颜色模型转换指南,"['图像处理', '颜色理论', '数字图像', '编程', 'HSV模型', 'RGB模型']
摘要由CSDN通过智能技术生成

在Spring框架中最常见的几个注解

@Controller, @Service, @Component, @Repository

其中@Component是一种通用名称,泛指任意可以通过Spring来管理的组件,@Controller, @Service, @Repository则是一种特定的组件,通常用来表示某种特定场合下的组件,比如@Repository用来表示仓库(数据层,DAO),并且Spring 框架会根据这种应用场景做些定制,比如@Repository同时具备了自动化的异常转换。类似的, @Service则用来表示服务层相关的类, @Controller则用来表示展示层(presentation)的类。

那Service是什么呢?

Service 表示了在软件分层设计中的Service层,用来连结数据层(DAO)和展示层(Presentation)。

为什么要在DAO层上加一层Service呢?

对Java技术,架构技术感兴趣的同学,欢迎加QQ群:863621962,一起学习,相互讨论。

在某些简单的应用中,DAO层的功能和Service的功能很接近,甚至初学者会觉得Service层做的事情和DAO层都一样,那为啥还要将Service层单独拿出来做一遍呢?而且,很多场景下,Service层和DAO层同时存在,往往会增加代码复杂度,编码工作量,写的不好甚至会造成混淆。

通常来说,DAO层应尽力保持简单,其功能仅仅是提供了数据库的连接&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值