springboot controller调用service_springboot 工程结构

项目的工程结构理论上来说并没有什么强制要求,我们可以把所有的业务逻辑写在接口方法中,这并不会影响我们项目的运行。对于我而言,规范好自己的工程结构,对自己对别人都是很好的,不同结构各司其职,互不越界是我编写项目的规范之一。下图是整合了阿里孤尽老师的《JAVA开发手册》中所提及的工程结构,我也是针对了该工程结构反思了自己先前的一些项目写法。对于springboot项目而言,一个完整的请求大致会按顺序经...
摘要由CSDN通过智能技术生成

项目的工程结构理论上来说并没有什么强制要求,我们可以把所有的业务逻辑写在接口方法中,这并不会影响我们项目的运行。

对于我而言,规范好自己的工程结构,对自己对别人都是很好的,不同结构各司其职,互不越界是我编写项目的规范之一。


下图是整合了阿里孤尽老师的《JAVA开发手册》中所提及的工程结构,我也是针对了该工程结构反思了自己先前的一些项目写法。

862866c7c7e101a3648b95a2ceb0103b.png

对于springboot项目而言,一个完整的请求大致会按顺序经过以下流程

  1. Filter与Interceptor 这两者的功能接近,但具体实现技术不同。通常会在该层进行简单的url处理或鉴权
  2. controllerAdvice 这是spring3.2提供的新注解,当前大多用于搭配@ExceptionHandler进行全局异常处理
  3. aspect 此处的aspect仅针对处理controller的aspect 通常我们会使用切面来实现一些非主业务的功能,例如日志、异常处理、权限控制等 但我个人而言,我并不喜欢在aspect进行权限控制,如下图所示,未授权的调用理应无法通过拦截器,而一旦通过拦截器,便默认拥有当次请求的操作权限。
  4. controller 通常所说的请求处理层,对请求的业务操作下放到具体的service处理,而自身仅仅做的是一些不复用的功能,例如参数校验。 尽可能别将业务逻辑直接写在controller层。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值