目录
Spring Boot常用注解介绍
@SpringBootApplication
作用:这是一个组合注解,包括了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。用于标识SpringBoot应用程序的入口类
@Configuration:指示这个类是一个配置类,它定义了一个或多个@Bean方法,用于创建和配置Spring应用程序上下文中的Bean
@EnableAutoConfiguration:启用Spring Boot的自动配置机制,它会自动添加所需的依赖项和配置,以使应用程序能够运行
@ComponentScan:指示Spring Boot扫描当前包及其子包中的所有@Component、@Service、@Repository和@Controller注解的类,并将它们注册为Spring Bean
@SpringBootApplication注解通常被用于Spring Boot应用程序的入口类上,用于启动Spring Boot应用程序。它可以简化Spring应用程序的配置和启动过程
代码演示如下
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@Controller
用于修饰MVC中controller层的组件,SpringBoot中的组件扫描功能会识别到该注解,并为修饰的类实例化对象,通常与@RequestMapping联用,当SpringMVC获取到请求时会转发到指定路径的方法进行处理
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
}
@RequestMapping
作用:用于映射请求URL和处理方法。@RequestMapping是Spring MVC框架中的一个核心注解,它用于映射HTTP请求和控制器方法之间的关系。它可以用于类级别和方法级别,用于指定请求URL和HTTP方法(GET、POST、PUT、DELETE等)
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/user")
public List<User> getUsers() {
// 获取用户列表
}
@PostMapping("/user")
public void createUser(@RequestBody User user) {
// 创建新用户
}
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Long id) {
// 根据ID获取用户信息
}
@PutMapping("/user/{id}")
public void updateUser(@PathVariable Long id, @RequestBody User user) {
// 更新用户信息
}
@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Long id) {
// 根据ID删除用户
}
}
@GetMapping
作用:用于映射HTTP GET请求
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/user")
public List<User> getUsers() {
// 获取用户列表
}
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Long id) {
// 根据ID获取用户信息
}
}
@PostMapping
作用:用于映射HTTP POST请求
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@PostMapping("/user")
public void createUser(@RequestBody User user) {
// 创建新用户
}
}
@PutMapping
作用:用于映射HTTP PUT请求
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@PutMapping("/user/{id}")
public void updateUser(@PathVariable Long id, @RequestBody User user) {
// 更新用户信息
}
}
@DeleteMapping
作用:用于映射HTTP DELETE请求
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Long id) {
// 根据ID删除用户
}
}
@RequestParam
作用:用于获取请求参数的值
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/user")
public List<User> getUsers(@RequestParam("page") int page, @RequestParam("size") int size) {
// 分页获取用户列表
}
}
@PathVariable
作用:用于获取URL中的参数值。@PathVariable是Spring MVC框架中的一个注解,用于将HTTP请求路径中的变量绑定到控制器方法的参数上
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) {
// 根据ID获取用户信息
}
}
@RequestBody
作用:用于将HTTP请求的主体转换为方法的参数。@RequestBody是Spring MVC框架中的一个注解,用于将HTTP请求体中的数据绑定到控制器方法的参数上
代码演示如下
@Controller
@RequestMapping("/user")
public class UserController {
@PostMapping("/user")
public User createUser(@RequestBody User user) {
// 创建用户
}
}
@ResponseBody
作用:用于将方法的返回值转换为HTTP响应的主体。@ResponseBody是Spring MVC框架中的一个注解,用于将控制器方法的返回值转换为HTTP响应体中的数据
代码演示如下
@Controller
public class UserController {
@GetMapping("/user/{id}")
@ResponseBody
public User getUser(@PathVariable int id) {
// 从数据库或其他地方获取用户数据
User user = userService.getUserById(id);
return user;
}
}
@Autowired
作用:用于自动装配Spring容器中的Bean
代码演示如下
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper mapper;
// 实现UserService接口中的方法
}
@Component
作用:用于标识一个类是Spring容器中的组件。@Component是Spring框架中的一个通用注解,用于标注一个类作为Spring Bean
代码演示如下
@Component
public class UserServiceImpl implements UserService {
// 实现UserService接口中的方法
}
@Service
作用:用于标识一个类是Spring容器中的服务组件。@Service是Spring框架中的一个注解,用于标注一个类作为服务类
代码演示如下
@Service
public class UserServiceImpl implements UserService {
// 实现UserService接口中的方法
}
@Repository
作用:用于标识一个类是Spring容器中的数据访问组件。@Repository是Spring框架中的一个注解,用于标注一个类作为数据访问对象
代码演示如下
@Repository
public class UserRepositoryImpl implements UserRepository {
// 实现UserRepository接口中的方法
}
@Configuration
作用:用于标识一个类是Spring的配置类。@Configuration是Spring框架中的一个注解,用于标注一个类作为配置类
代码演示如下
@Configuration
public class UserController {
@Bean
public UserService userService() {
return new UserServiceImpl();
}
@Bean
public UserRepository userRepository() {
return new UserRepositoryImpl();
}
}
@Bean
作用:用于将一个方法返回的对象注册到Spring容器中。@Bean是Spring框架中的一个注解,用于将一个方法返回的对象注册为一个Spring Bean
代码演示如下
@Configuration
public class UserController {
@Bean
public UserService userService() {
return new UserServiceImpl();
}
@Bean
public UserRepository userRepository() {
return new UserRepositoryImpl();
}
}
@Data
作用:用于自动生成JavaBean的getters、setters、toString、hashCode和equals方法
代码演示如下
@Data
public class User {
private Long id;
private String name;
private Integer age;
}