03动力云客项目之登录功能后端实现
- IT业界
- 2025-08-04 12:09:02

1 准备工作 1.1 创建项目
使用Spring initializr初始化项目 老师讲的是3.2.0, 但小版本之间问题应该不大.
1.2 项目结构根据阿里巴巴Java开发手册确定项目结构
1.3 分层领域模型【参考】分层领域模型规约:
• DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 • DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。 • BO(Business Object):业务对象,可以由 Service 层输出的封装业务逻辑的对象。 • Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。 • VO(View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
我们只使用其中的三个,但在大型项目, DTO几乎是必须的: 1、DO(等价于我们的model) 2、Query (controller --> service -->manager --> dao 上一层往下一层传参数) 3、VO(等价于我们的result中的R对象)
即从dao一直到controller返回DAO, controller到前端返回R
1.4 创建R处理结果集 package com.sunsplanter.result; import lombok.*; @Getter @RequiredArgsConstructor @NoArgsConstructor @AllArgsConstructor public enum CodeEnum { OK(200, "成功"), FAIL(500, "失败"), TOKEN_IS_EMPTY(901, "请求Token参数为空"), TOKEN_IS_ERROR(902, "请求Token有误"), TOKEN_IS_EXPIRED(903, "请求Token已过期"), TOKEN_IS_NONE_MATCH(904, "请求Token不匹配"), USER_LOGOUT(200, "退出成功"), DATA_ACCESS_EXCEPTION(500,"数据库操作失败"), ACCESS_DENIED(500, "权限不足") ; //结果码 private int code; //结果信息 @NonNull private String msg; } package com.sunsplanter.result; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * 统一封装web层向前端页面返回的结果 * */ @Builder @NoArgsConstructor @AllArgsConstructor @Data public class R { //表示返回的结果码,比如200成功,500失败 private int code; //表示返回的结果信息,比如 用户登录状态失效了,请求参数格式有误....... private String msg; //表示返回的结果数据,数据可能是一个对象,也可以是一个List集合..... private Object data; public static R OK() { return R.builder() .code(CodeEnum.OK.getCode()) .msg(CodeEnum.OK.getMsg()) .build(); } public static R OK(int code, String msg) { return R.builder() .code(code) .msg(msg) .build(); } public static R OK(Object data) { return R.builder() .code(CodeEnum.OK.getCode()) .msg(CodeEnum.OK.getMsg()) .data(data) .build(); } public static R OK(CodeEnum codeEnum) { return R.builder() .code(CodeEnum.OK.getCode()) .msg(codeEnum.getMsg()) .build(); } public static R FAIL() { return R.builder() .code(CodeEnum.FAIL.getCode()) .msg(CodeEnum.FAIL.getMsg()) .build(); } public static R FAIL(String msg) { return R.builder() .code(CodeEnum.FAIL.getCode()) .msg(msg) .build(); } public static R FAIL(CodeEnum codeEnum) { return R.builder() .code(codeEnum.getCode()) .msg(codeEnum.getMsg()) .build(); } } 2 后端代码 2.1 登录代码实现03动力云客项目之登录功能后端实现由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“03动力云客项目之登录功能后端实现”
上一篇
C语言操作符超详细总结
下一篇
9.0Zookeeper节点特性