今天练习了springboot技术,写了一个用户注册的功能(只写了后端代码)
首先创建了boot项目,pom文件继承了spring-boot-starter-parent依赖管理,大部分不需要自己配置
之后再yml文件中写数据库的配置
然后创建项目结构,和之前类似,实现注册功能。
主要步骤就是定义实现类User,创建mapper层接口UserMapper,创建service层,最后在controller中调用service层,实现业务逻辑
功能在postman测试
在之前注册功能的基础上做了以下功能扩展
①密码加密(将用户注册的密码,加密后保存到数据库),这里采用的是Md5工具类
@Overridepublic 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() : "操作失败");}
}