如何在Spring Boot中实现服务的分层架构
Spring Boot支持分层架构(MVC),通常分为控制层(Controller)、服务层(Service)和持久层(Repository/DAO)。
控制层(Controller)
负责接收用户请求并调用服务层。
java
复制
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.getUserById(id);
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.createUser(user);
}
}
服务层(Service)
负责业务逻辑处理。
java
复制
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User getUserById(Long id) {
return userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
}
public User createUser(User user) {
return userRepository.save(user);
}
}
持久层(Repository/DAO)
负责数据访问。
java
复制
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
实体类(Entity)
定义数据模型。
java
复制
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
浙公网安备 33010602011771号