SpringBoot 代码逻辑分层

SpringBoot 分为四层:controller层、service层、dao层、model层

controller层:控制层,存放各种控制器,来提供数据或者返回界面,实现对Get和Post的相应,用于前后端交互,service层和前端通过Controller层进行数据交互。导入service层,调用service方法,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。表单等交互动作的处理,调到Service,将Service层的数据对象返回到视图层。

service层:业务逻辑层,存放业务逻辑处理,返回数据给控制调用,一般用于调用dao层的接口,实现业务功能,不直接对数据库进行操作,有接口和接口实现类(impl层),提供controller层调用的方法,调用dao层访问数据库。

dao层:mapper层,数据持久层,对数据库进行持久化操作,用于存放sql语句,存放返回数据json的格式样式,在SpringBoot中用注解来为每一个方法注入sql语句。他的方法是针对数据库操作的,基本用到的就是增删改查。它只是个接口,只有方法名字,具体实现在mapper.xml中。

model(entity)层:数据访问层,实体类包,存放各种与数据库对应的实体类。属性值与数据库中的属性值保持一致。 实现set和get方法。

为何分层?

高内聚:分层的设计可以简化系统设计,让不同的层专注做某一模块的事
低耦合:层与层之间通过接口或API来交互,依赖方不用知道被依赖方的细节
复用:分层之后可以做到很高的复用
扩展性:分层架构可以让我们更容易做横向扩展

分层是为了使业务逻辑更加清晰,写代码更加方便,所以有时候也需要根据具体情况来,但是大体的都是这样处理的,因为它其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。

各层的相关注解
1.controller 

@Controller // 标记controller类
@RequestMapping("/user") // 接口名

2.service

没有

3.serviceImpl

@Service // 标记这是个servic

4. Dao

@Mapper // 与对应的DaoMapper.xml匹配
@Repository // @Repository注解修饰哪个类,则表明这个类具有对对象进行CRUD(增删改查)的功能,而且@Repository是@Component注解的一个派生品,所以被@Repository注解的类可以自动的被@ComponentScan 通过路径扫描给找到。(这也在一定程度上解释了,为什么被@Repository注解的类也能@Autowired)
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值