最近正在学习springboot项目的底层原理,下面总结以下springBoot的项目分层结构与对于整体的层级架构理解
SpringBoot项目分层
SpringBoot简单分层
- controller:编写后端提供前端的接口。
- entity:主要放实体类Bean。
- service:业务层,编写复杂的服务功能,例如:复杂的数据库操作等。
- impl:整合service和dao层内容,提供后端完整接口调用。
- mapper:放Mybatis的xml文件。
- dao:与在mapper中Mybatis的xml中,sql语句相互形成映射关系,一般为对应实体类简单数据库操作的接口。
springboot的MVC分层方式
demo-model:主要是后端代码与数据库数据之间的交互。存放mybatis的相关文件,有config配置文件、entity实体类、mapper接口等。
demo-service:主要业务层,编写复杂功能,提供impl接口。
demo-web:后端给前端提供的接口,主要存放controller。
start:只做启动和测试使用。
具体分层架构
- demo-api:为后端与后端交互而提供的接口服务。
- demo-dao:后端与数据库直接交互的地方。
- demo-manager:代码管理层。
- demo-service:复杂业务层。
- demo-web:为前端提供接口。
- start:启动和测试使用。
COLA分层
大型企业项目分层
SpringBoot层级理解
model(entity)
model是模型的意思,与entity、domain、pojo类似,是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类。
主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。
dao(mapper)
又被成为mapper层,叫数据持久层,先设计接口,然后在配置文件中进行配置其实现的关联。
dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。
数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中
service
业务逻辑层,完成功能的设计和dao层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用dao层的接口进行业务逻辑应用的处理。
service的impl是把mapper和service进行整合的文件
封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
controller
控制层,控制业务逻辑service,控制请求和响应,负责前后端交互
controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也要在配置文件中进行
层次结构图
