3.18
本文实现 Spring Boot 后端的用户模块开发,包括数据模型、服务层和 RESTful API 接口。
一、数据模型设计(Entity)
创建用户实体类User.java,位于com.demo.entity包下:
java
package com.demo.entity;
import javax.persistence.*;
import java.time.LocalDateTime;
@Entity
@Table(name = "tb_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true, length = 50)
private String username; // 用户名
@Column(nullable = false, length = 100)
private String password; // 密码(实际开发应加密)
@Column(nullable = false, length = 50)
private String email; // 邮箱
@Column(name = "create_time")
private LocalDateTime createTime; // 创建时间
// 构造方法、getter和setter省略
public User() {}
// ...
}
二、数据访问层(Repository)
创建UserRepository.java接口,继承JpaRepository:
java
package com.demo.repository;
import com.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
// 根据用户名查询用户
User findByUsername(String username);
// 根据邮箱查询用户
User findByEmail(String email);
}
三、服务层(Service)
创建UserService.java接口及实现类:
java
// 接口定义
package com.demo.service;
import com.demo.entity.User;
import java.util.List;
public interface UserService {
User register(User user);
User login(String username, String password);
User findById(Long id);
List
boolean deleteById(Long id);
}
// 实现类
package com.demo.service.impl;
import com.demo.entity.User;
import com.demo.repository.UserRepository;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public User register(User user) {
// 密码加密(示例用MD5,实际应使用更安全的算法)
user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
user.setCreateTime(LocalDateTime.now());
return userRepository.save(user);
}
// 其他方法实现省略
// ...
}
四、控制器层(Controller)
创建UserController.java,暴露 RESTful 接口:
java
package com.demo.controller;
import com.demo.entity.User;
import com.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/register")
public ResponseEntity<User> register(@RequestBody User user) {
User newUser = userService.register(user);
return new ResponseEntity<>(newUser, HttpStatus.CREATED);
}
@PostMapping("/login")
public ResponseEntity<User> login(@RequestParam String username,
@RequestParam String password) {
User user = userService.login(username, password);
if (user != null) {
return new ResponseEntity<>(user, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.UNAUTHORIZED);
}
}
}
总结
后端核心模块已完成,包括用户的增删改查功能。下一篇将介绍 Android 客户端如何通过 Retrofit 调用这些 API,并实现用户界面。

浙公网安备 33010602011771号