首先我们确定了使用广泛引用的Java语言,考虑到方便使用和跨平台性,我们的功能将基于网页提供,所以具有强大稳定性和可拓展性的springboot作为后端框架,以及MySQL作为数据库,这样调用org.springframework.data.repository.CrudRepository可以轻便地实现增删改查。
前期规划时根据以往的经验,我们使用了DTO降低耦合性,使得各层可以独立变化,不会因为某一层的修改而影响其他层。DTO 可以只包含需要传输的数据字段,避免传输多余的数据。例如,在查询用户信息时,只需要返回用户的姓名和邮箱,而不需要返回用户的密码、创建时间等字段,这样更加方便连表查询。通过 DTO,可以控制哪些数据可以被外部访问。例如,在返回用户信息时,可以通过 DTO 隐藏用户的敏感信息(如密码、身份证号),可以提高系统的安全性,防止敏感数据泄露。
同时书写了基本的注册界面以及登录界面
部分代码展示以及注册界面后端逻辑:
1. 检查用户名是否为空
2. 检查用户名是否已存在
3. 创建新的 User 对象
4. 如果密码为空,设置默认密码
5. 将 UserDto 的属性复制到 User 对象中
6. 保存 User 对象到数据库
部分代码展示以及登录界面后端逻辑:
1. 检查用户名是否为空
2. 检查密码是否为空
3. 查询数据库中是否存在该用户名和密码
4. 如果用户存在,返回用户对象
5. 如果用户不存在,抛出异常
同时定义了自定义异常CustomException方便了解错误,