这里写目录标题
MVC三层架构中的dao,service,controller组件
Dao (数据库持久化层)
- 就是一个用来和数据库进行交互访问的组件---->dao层一般做一些数据操作 , 例如CURD
Service (业务/服务层)
- 位于控制器(Controller) 和 数据访问层(Dao) 之间
- 控制器调用服务层的方法来执行具体的业务逻辑 , 服务层可以进一步调用数据访问层来获取或存储数据
Controller(业务控制层)
- 控制器是用户与应用交互的前端部分
- 负责接收用户的输入 , 并将其转化为对模型和视图的操作
- 在Web应用中 , 控制器通常处理HTTP请求和响应
简单实例解释
- 其实在一些特别简单的项目中 , 有人会直接用Controller调用Dao层 ,
不写Service层(Service层像是一个服务员 , 来回给Controller和Dao传递消息) ,- 只写Controller和Dao层的项目中 , Dao就不止要对数据进行简单的CRUD操作了 , 还要加上业务逻辑的处理
- 但一般来说 ,都会按照Dao,Service,Controller三层架构来写 , 不然写大项目的时候逻辑就会很混乱
枚举类 ResponseEnum
一. 什么情况下使用枚举类?
有的时候一个类的对象时有限且固定的 , 这种情况下我们使用枚举类就比较方便
例如 :
- 正确或错误的状态码
- 四个季节
二. 怎么写一个枚举类?
1. 入门
- enum和class,interface地位一样
- 枚举类默认继承了java.lang.Enum
- 枚举类的所有实例都必须放在第一行展示 , 不需要使用new关键字 , 不需要显示调用构造器 . 自动添加public static final修饰
- 所有实例, 默认用final修饰 —> 不可以被继承
- 枚举类的构造器只能是私有的
2. 举例
package com.example.end_termtest.util;
public enum ResponseEnum {
SUCCESS(600,"成功"), //实例 SUCCESS(code=600,message="成功")
ERROR(601,"失败");
private Integer code;
private String message;
ResponseEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
统一返回数据类型 ServerResponse
参考文档
[1] Enum(枚举类)