SpringBoot常用注解解释

SpringBoot是一个简化Java应用程序开发的框架,它包含自动配置、组件扫描和嵌入式Web服务器等功能。@SpringBootApplication是核心注解,结合@Configuration、@EnableAutoConfiguration和@ComponentScan。@RestController用于RESTfulAPI,@Autowired实现依赖注入,@PathVariable、@RequestParam和@RequestBody处理请求参数。@Bean定义Bean对象,@Value从配置文件获取值,@Component标记Spring组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        Spring Boot是一个开源的Java框架,用于构建独立的、生产级别的Spring应用程序。它基于Spring Framework,并通过自动配置和约定优于配置的原则来减少了开发人员在搭建Spring应用时需要进行的大量设置。

        Spring Boot提供了许多有用的功能,例如嵌入式Web服务器(如Tomcat、Jetty或Undertow),自动化配置,健康检查,指标收集,安全性等。使用Spring Boot可以快速轻松地创建可部署的、可扩展的、可维护的应用程序。

        springboot有很多高效的注解,我们经常使用这些注解简化项目的工作,让项目更加方便,今天我们就介绍一下springboot常用注解介绍

目录

一、@SpringBootApplication的用法

二、@RestController 和 @RequestMapping的用法

三、@Autowired的用法

四、@PathVariable, @RequestParam 和 @RequestBody的用法

五、@Bean的用法

六、@Value的用法

七、@Component的用法


一、@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 {

    // ...
}

常用的注解就是这些,如过想学习可以进官网学习

关注点赞不迷路!!!

以下是Spring Boot常用注解解释: 1. @SpringBootApplication:这个注解是一个组合注解,包含了@Configuration、@EnableAutoConfiguration和@ComponentScan。它用于标识一个主启动类,表示这是一个Spring Boot应用程序的入口。 2. @RestController:这个注解用于标识一个类是RESTful风格的控制器,它会自动将返回的对象转换为JSON格式的响应。 3. @RequestMapping:这个注解用于映射HTTP请求到控制器的处理方法上。可以用于类级别和方法级别,用于指定URL路径和HTTP请求方法。 4. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping:这些注解分别用于映射HTTP的GET、POST、PUT和DELETE请求到控制器的处理方法上。 5. @PathVariable:这个注解用于获取URL路径中的参数值,并将其绑定到方法的参数上。 6. @RequestParam:这个注解用于获取请求参数的值,并将其绑定到方法的参数上。 7. @RequestBody:这个注解用于获取请求体的内容,并将其转换为方法参数的类型。 8. @ResponseBody:这个注解用于将方法的返回值转换为HTTP响应的内容。 9. @Autowired:这个注解用于自动装配依赖对象,可以用于字段、构造方法和方法上。 10. @Component:这个注解用于标识一个类是Spring的组件,会被自动扫描并注册到Spring容器中。 11. @Service:这个注解用于标识一个类是业务逻辑层的组件。 12. @Repository:这个注解用于标识一个类是数据访问层的组件。 13. @Configuration:这个注解用于标识一个类是配置类,其中定义了一些Bean的创建和配置。 14. @EnableAutoConfiguration:这个注解用于启用Spring Boot的自动配置机制。 15. @Conditional:这个注解用于根据条件来决定是否创建某个Bean。 16. @Value:这个注解用于配置文件中读取属性值,并将其注入到方法参数或字段中。 17. @Async:这个注解用于标识一个方法是异步执行的。 18. @EnableScheduling:这个注解用于启用Spring的定时任务调度功能。 19. @EnableCaching:这个注解用于启用Spring的缓存功能。 20. @EnableSwagger2:这个注解用于启用Swagger2的API文档生成功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桑稚远方~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值