目录
1 Entity 层
2 DAO 层
3 Service 层
4 Controller 层
Spring Boot 各层之间的联系:
controller 层-----> service 层(接口->接口实现类) -----> dao 层的.mapper 文件 -----> 和 mapper 层里的.xml 文件对应
1 Entity 层
实体层,数据库在项目中的类。
entity层/model层/pojo层/domain层:存放的是实体类,属性值与数据库中的属性值保持一致,实现set和get方法。
2 DAO 层
持久层,主要与数据库进行交互。
DAO 层= mapper 层,现在用 Mybatis 逆向工程生成的 mapper 层,其实就是 DAO 层。DAO 层会调用entity层,DAO 中会定义实际使用到的方法,比如增删改查。DAO 层的数据源和数据库连接的参数都是在配置文件中进行配置的,配置文件一般在同层的 XML 文件夹中。数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作。
3 Service 层
业务层,控制业务。
Service 层主要负责业务模块的逻辑应用设计。先设计放接口的类,再创建实现的类,然后在配置文件中进行配置其实现的关联。service 层调用 dao 层接口,接收dao层返回的数据,完成项目的基本功能设计。封装Service 层的业务逻辑有利于业务逻辑的独立性和重复利用性。
4 Controller 层
控制层,控制业务逻辑。
Controller 层负责具体的业务模块流程的控制,controller 层负责前后端交互,接受前端请求,调用service层,接收 service 层返回的数据,最后返回具体的页面和数据到前端。
可以这样简单理解:
当我们访问 Spring Boot 服务,当用户通过浏览器访问后端服务时,通过 Controller 层决定控制访问逻辑,Service 层主要实现系统的业务逻辑,DAO 层直接操作数据库的代码。
在实际的工作项目中,可能分的模块或者层数会更多,比如说可能还会有工具层等。层数并不是一成不变的,是会根据项目需求或者设计去分层开发,达到解耦目的。毕竟高内聚低耦合嘛