返回

SpringBoot中Server层以及Mapper层常用注解剖析

后端

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注解标记了一个查询方法。

通过使用注解,我们简化了代码编写,提高了程序的可维护性。同时,注解还可以在一定程度上提高应用程序的性能。