- service是业务层,dao是数据访问层,controller是控制层,view是表示层。
- 面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。
- 初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用。
- 控制层(controller)的职能是负责读取视图表现层的数据,控制用户的输入,并调用业务层的方法;
- 业务层(service)需要根据系统的实际业务需求进行逻辑代码的编写,有些业务逻辑需要通过与数据库交互的,则业务逻辑层需要调用数据访问层的相关方法实现与数据库的交互,对于一些不需要与数据库进行交互的,则直接编写业务代码,将执行结果反馈给控制层即可;
- 数据访问层(dao)只负责与数据库的数据交互,数据业务处理,持久化操作,将数据进行存储读取操作,可以这么理解数据层提供的东西仅仅作为业务层的一个模块,业务层包含的内容有很多。
- 参考链接:https://www.cnblogs.com/beautiful-code/p/5271358.html
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------
- SpringBoot项目中model层、Dao层、Mapper层、controller层、service层、entity层作用
- 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层的业务逻辑有利于业务逻辑的独立性和重复利用性。
- 拓展:有的代码风格是service层=service接口+serviceImpl实现类;有的代码风格是service层=service类;参考链接:https://blog.csdn.net/zxx901221/article/details/88633977
- controller :控制层,控制业务逻辑service,控制请求和响应,负责前后端交互 controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也要在配置文件中进行
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------
- SpringBoot 各层之间的关系
- SpringBoot 分为四层:controller层、service层、dao层、entity层
entity层:和model层一样,存放的是实体类,属性值与数据库值保持一致,实现setter和getter方法
dao层:即mapper层,对数据库进行持久化操作,他的方法是针对数据库操作额,基本上用的就是增删改查,就是一个接口,只有方法名,具体实现在mapper.xml中。
service层:业务层,存放业务逻辑处理,不直接对数据库进行操作,有接口和接口实现类,提供controller层调用方法。
controller层:控制层,导入service层,调用你service方法,controller通过接收前端传来的参数进行业务操作,在返回一个指定的路径或数据表。
constant:常量包,存放一些常量数据,如定义服务器响应状态码。
controller:控制器,存放各种控制器,来提供数据或者返回界面
entity:实体类包,存放各种与数据库对应的实体类
mapper:存放返回数据json的格式样式 ;mapper 翻译 映射器,映射对象
service:返回数据给控制调用 - dao 与数据库的操作,增删改查等方法
- model 一般都是javabean对象,例如与数据库的某个表相关联。
- service 供外部调用,等于对dao,model等进行了包装。
- impl 以 impl结尾的类 一般是实现了某个或多个接口的类
- util 通常都是工具类,如字符串处理、日期处理等
