软件工程日报03
今天练习了springboot技术,写了一个用户注册的功能(只写了后端代码)
首先创建了boot项目,pom文件继承了spring-boot-starter-parent依赖管理,大部分不需要自己配置
之后再yml文件中写数据库的配置
然后创建项目结构,和之前类似,实现注册功能。
主要步骤就是定义实现类User,创建mapper层接口UserMapper,创建service层,最后在controller中调用service层,实现业务逻辑
功能在postman测试
在之前注册功能的基础上做了以下功能扩展
①密码加密(将用户注册的密码,加密后保存到数据库),这里采用的是Md5工具类
@Override
public void register(String username, String password) {
//加密
String md5String = Md5Util.getMD5String(password);
userMapper.add(username,md5String);
}
②对格式进行判断,在(5,16)长度区间(这里采用正则表达式进行判断)
配置validation依赖,在controller层加上注解
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@PostMapping("/register")
public Result register(@Pattern(regexp = "^\\S{5,16}$")String username, @Pattern(regexp = "^\\S{5,16}$")String password){
User u = userService.findByUsername(username);
if(u == null){
//用户名没被占用 注册
userService.register(username,password);
return Result.success();
}else{
return Result.error("用户名已被占用");
}
}
③处理异常
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public Result handleException(Exception e){
e.printStackTrace();
return Result.error(StringUtils.hasLength(e.getMessage())? e.getMessage() : "操作失败");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术