软件工程日报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() : "操作失败");
}
}


浙公网安备 33010602011771号