返回
SpringBoot中Server层以及Mapper层常用注解剖析
后端
2024-02-02 10:53:41
Server层注解
SpringBoot中,服务层通常是指负责业务逻辑处理的层,常用的注解包括:@RequestMapping、@Controller和@Service。
- @RequestMapping :该注解用于处理HTTP请求,可以将请求映射到特定的控制器方法。例如:
@RequestMapping("/user")
public class UserController {
@GetMapping
public List<User> getAllUsers() {
// ...
}
@PostMapping
public User createUser(@RequestBody User user) {
// ...
}
}
- @Controller :该注解用于标记控制器类,控制器类负责处理用户请求并返回响应。例如:
@Controller
public class UserController {
// ...
}
- @Service :该注解用于标记服务类,服务类负责处理业务逻辑。例如:
@Service
public class UserService {
public List<User> getAllUsers() {
// ...
}
public User createUser(User user) {
// ...
}
}
Mapper层注解
SpringBoot中,Mapper层通常是指负责数据访问的层,常用的注解包括:@Mapper和@Select。
- @Mapper :该注解用于标记Mapper接口,Mapper接口负责定义数据库操作的方法。例如:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> getAllUsers();
@Insert("INSERT INTO user (name, email) VALUES (#{name}, #{email})")
void createUser(User user);
}
- @Select :该注解用于标记查询方法,查询方法负责从数据库中检索数据。例如:
@Select("SELECT * FROM user")
public List<User> getAllUsers();
注解的实际应用
Spring Boot中,注解可以帮助开发人员快速构建应用程序。例如,在下面的代码中,我们使用注解定义了一个控制器类和一个服务类:
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user")
public List<User> getAllUsers() {
return userService.getAllUsers();
}
@PostMapping("/user")
public User createUser(@RequestBody User user) {
return userService.createUser(user);
}
}
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
public User createUser(User user) {
userMapper.createUser(user);
return user;
}
}
在这个例子中,我们使用@Controller注解标记了控制器类,使用@Service注解标记了服务类。在控制器类中,我们使用@GetMapping和@PostMapping注解标记了两个方法,分别用于处理GET和POST请求。在服务类中,我们使用@Autowired注解注入UserMapper接口,并使用@Select注解标记了一个查询方法。
通过使用注解,我们简化了代码编写,提高了程序的可维护性。同时,注解还可以在一定程度上提高应用程序的性能。