Spring Boot是一个开源的Java框架,用于构建独立的、生产级别的Spring应用程序。它基于Spring Framework,并通过自动配置和约定优于配置的原则来减少了开发人员在搭建Spring应用时需要进行的大量设置。
Spring Boot提供了许多有用的功能,例如嵌入式Web服务器(如Tomcat、Jetty或Undertow),自动化配置,健康检查,指标收集,安全性等。使用Spring Boot可以快速轻松地创建可部署的、可扩展的、可维护的应用程序。
springboot有很多高效的注解,我们经常使用这些注解简化项目的工作,让项目更加方便,今天我们就介绍一下springboot常用注解介绍
目录
二、@RestController 和 @RequestMapping的用法
四、@PathVariable, @RequestParam 和 @RequestBody的用法
一、@SpringBootApplication的用法
@SpringBootApplication 是一个组合注解,它包含了以下三个注解:
1、@Configuration:标记这个类是一个配置类,用于定义 Bean 和配置 Spring 应用程序上下文。
2、@EnableAutoConfiguration:开启自动配置功能,Spring Boot 会根据项目中引入的依赖项和 配置文件(如 application.properties 或 application.yml)来完成应用程序的自动配置。
3、@ComponentScan:扫描指定的包和类,使用 Spring 框架自带的组件扫描器扫描所有的 @Component、@Service、@Repository、@Controller 等注解修饰的类,并将其注册为 Bean。
通常情况下,我们只需要在 main 方法所在的类上添加 @SpringBootApplication 注解即可快速创建一个 Spring Boot 应用程序。例如:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
二、@RestController 和 @RequestMapping的用法
@RestController 是一个特殊的控制器类注解,它标记一个类为 RESTful API 控制器,可以处理 HTTP 请求并返回响应数据。它相当于 @Controller 和 @ResponseBody 的组合注解。
@RequestMapping 是一个用于映射 URL 请求路径到控制器处理方法的注解。它可以标记在类和方法上,用于指定请求的 HTTP 方法、URI 路径、请求参数、请求头等信息。
例如,在之前的示例代码中,我们使用了 @RestController 和 @RequestMapping 注解来定义了一个 UserController 类,并将所有路由方法映射到 /users 路径下:
@RestController // 标记此类为 RESTful API 控制器
@RequestMapping("/users") // 定义 URI 路径前缀,所有请求都会先进入到这个路径下
public class UserController {
// ...
}
三、@Autowired的用法
@Autowired 是 Spring 框架提供的一个依赖注入注解,用于自动装配 Bean。当一个类需要使用另一个类的实例时,我们可以将该类定义为一个 Bean,并在另一个类中通过 @Autowired 注解引用它,Spring 框架会自动将 Bean 实例注入到该类中去。
例如,在之前的示例代码中,我们使用了 @Autowired 注解将 UserRepository 注入到 UserController 中:
@Autowired
private UserRepository userRepository;
四、@PathVariable, @RequestParam 和 @RequestBody的用法
@PathVariable、@RequestParam 和 @RequestBody 都是用于接收 HTTP 请求参数的注解。
@PathVariable 用于获取 URL 路径中的参数值,例如:
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
// ...
}
在上面的示例代码中,我们使用 @PathVariable 注解将 URL 路径中的 {id} 参数值绑定到方法参数 id 上。
@RequestParam 用于获取请求参数的键值对,例如:
@GetMapping("")
public List<User> getAllUsers(@RequestParam("page") int page, @RequestParam("size") int size) {
// ...
}
在上面的示例代码中,我们使用 @RequestParam 注解将 HTTP GET 请求中的 page 和 size 参数值绑定到方法参数 page 和 size 上。
@RequestBody 用于接收 HTTP 请求体(Body)中的数据,通常用于处理 POST、PUT 等请求。例如:
@PostMapping("")
public User createUser(@RequestBody User user) {
// ...
}
五、@Bean的用法
@Bean 用于定义一个 Bean 对象,并将其注册到 Spring 应用程序上下文中。在 Spring Boot 中,我们通常使用这个注解来创建和配置第三方库、框架等组件。
例如,在以下示例代码中,我们使用 @Bean 注解来创建一个 RestTemplate 对象,并将其注册到 Spring 应用程序上下文中:
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
六、@Value的用法
@Value 用于从配置文件中获取参数值并注入到类的成员变量中。通常情况下,我们会在 application.properties 或 application.yml 文件中定义一些配置信息,例如连接数据库的 URL、用户名和密码等。
例如,在以下示例代码中,我们使用 @Value 注解从配置文件中读取 server.port 参数,并将其注入到 port 成员变量中:
@RestController
public class MyController {
@Value("${server.port}")
private int port;
// ...
}
七、@Component的用法
@Component 是一个通用的注解,用于标记一个类为 Spring 组件。在 Spring Boot 中,我们可以使用它来定义任何类型的 Bean,包括 Service、Repository、Controller 等。
例如,在以下示例代码中,我们使用 @Component 注解将 UserService 类定义为一个 Spring 组件,并将其注册到 Spring 应用程序上下文中:
@Component
public class UserService {
// ...
}
常用的注解就是这些,如过想学习可以进官网学习
关注点赞不迷路!!!