• Spring Boot 常用注解详解:全面指南


    Spring Boot 中有许多常用的注解,这些注解用于配置、管理和定义 Spring Boot 应用程序的各个方面。以下是这些注解按大类和小类的方式分类,并附有解释和示例。

    一、Spring Boot 核心注解

    @SpringBootApplication  

    解释:这是一个组合注解,通常用于主应用程序类,标志着这是 Spring Boot 应用程序的入口点。它包含了其他注解,如@Configuration、@ComponentScan 和@EnableAutoConfiguration。  

    示例:

    1. @SpringBootApplication
    2. public class MyApplication {
    3. public static void main(String[] args) {
    4. SpringApplication.run(MyApplication.class, args);
    5. }
    6. }

    @Configuration

    1. 解释:标志着一个类作为配置类,它通常用于定义 Bean。
    2. 示例:
    1. @Configuration
    2. public class MyConfig {
    3. @Beanpublic MyBean myBean() {
    4. return new MyBean();
    5. }
    6. }

    @ComponentScan  

    解释:用于指定 Spring 容器扫描组件的基本包路径。  

    示例:

    1. @SpringBootApplication
    2. @ComponentScan(basePackages = "com.example")
    3. public class MyApplication {
    4. public static void main(String[] args) {
    5. SpringApplication.run(MyApplication.class, args);
    6. }
    7. }

    二、Spring Boot Web 注解

    @Controller

    1. 解释:标志着一个类是 Spring MVC 控制器,处理 HTTP 请求。
    2. 示例:
    1. @Controller
    2. public class MyController {
    3. // Controller methods here
    4. }

    @RestController  

    解释:结合@Controller 和@ResponseBody,用于创建 RESTful 风格的控制器。  示例:

    1. @RestController
    2. public class MyRestController {
    3. @GetMapping("/hello")
    4. public String hello() {
    5. return "Hello, World!";
    6. }
    7. }

    @RequestMapping  

    解释:用于映射 HTTP 请求到控制器方法,并指定 URL 路径。  

    示例:

    1. @Controller
    2. @RequestMapping("/my")
    3. public class MyController {
    4. @GetMapping("/hello")
    5. public String hello() {
    6. return "Hello, World!";
    7. }
    8. }

    三、Spring Boot Bean 注解

    @Component

    解释:标志着一个类是 Spring 的组件,会被 Spring 扫描并注册为一个 Bean。

    示例:

    1. @Component
    2. public class MyComponent {
    3. // Component logic here
    4. }

    @Service

    解释:

    用于标记一个类作为业务逻辑的服务组件。

    示例:

    1. @Service
    2. public class MyService {
    3. // Service logic here
    4. }

    @Repository

    解释:

    用于标记一个类作为数据访问组件,通常用于持久层。

    示例:

    1. @Repository
    2. public class MyRepository {
    3. // Repository logic here
    4. }

    @Controller

    解释:用于标记一个类作为 Spring MVC 控制器。

    示例:

    1. @Controller
    2. public class MyController {
    3. // Controller logic here
    4. }

    @RestController

    解释:结合@Controller 和@ResponseBody,用于创建 RESTful 风格的控制器。

    示例:

    1. @RestController
    2. public class MyRestController {
    3. @GetMapping("/hello")
    4. public String hello() {
    5. return "Hello, World!";
    6. }
    7. }

    @Configuration

    解释:标志着一个类是 Spring 的配置类,通常用于定义 Bean。

    示例:

    1. @Configuration
    2. public class MyConfig {
    3. @Bean
    4. public MyBean myBean() {
    5. return new MyBean();
    6. }
    7. }

    这些注解用于定义和管理 Spring Bean,是 Spring Boot 应用程序中的重要组成部分。每个注解都有不同的用途和上下文,你可以根据应用程序的需求使用适当的注解。在 Spring Boot 应用程序中,使用这些注解可以轻松创建和管理 Bean,而无需显式的 XML 配置。

    四、Spring Boot 数据访问注解

    @Repository  

    解释:标志着一个类是 Spring Data 仓库,用于数据库访问。  

    示例:

    1. @Repository
    2. public class UserRepository {
    3. // Data access methods here
    4. }

    @Entity  

    解释:用于定义 JPA 实体类,映射到数据库表。

    示例:

    1. @Entity
    2. public class User {
    3. // Entity fields and methods here
    4. }

    五、Spring Boot 依赖注入注解

    @Autowired  

    解释:用于自动装配 Bean,通常与构造函数、Setter 方法或字段一起使用。  

    示例:

    1. @Service
    2. public class MyService {
    3. private final MyRepository repository;
    4. @Autowired
    5. public MyService(MyRepository repository) {
    6. this.repository = repository;
    7. }
    8. }

    @Qualifier  

    解释:与@Autowired 一起使用,用于指定要注入的 Bean 的名称。  

    示例:

    1. @Service
    2. public class MyService {
    3. private final MyRepository repository;
    4. @Autowired
    5. public MyService(@Qualifier("myRepository") MyRepository repository) {
    6. this.repository = repository;
    7. }
    8. }

    六、其他常用注解

    @Value

    1. 解释:用于注入属性值,通常从配置文件中获取。
    2. 示例:
    1. @Component
    2. public class MyComponent {
    3. @Value("${my.property}")
    4. private String myProperty;
    5. }

    @ConfigurationProperties

    解释:用于将配置属性绑定到一个 POJO 类,通常用于从配置文件中读取属性值。

    示例:

    1. @Configuration
    2. @ConfigurationProperties(prefix = "my")
    3. public class MyProperties {
    4. private String property1;
    5. private int property2;
    6. // Getters and setters
    7. }

    这只是 Spring Boot 中一些常用注解的分类和示例,还有许多其他注解可用于更专业的用例。根据你的需求,你可以选择使用适当的注解来配置和管理你的 Spring Boot 应用程序。

    使用 Apifox 测试和管理接口

    Apifox 是一个比 Postman 更强大的接口测试工具,Apifox = Postman + Swagger + Mock + JMeter, 支持调试 http(s)、WebSocket、Socket、gRPCDubbo 等协议的接口,并且集成了 IDEA 插件。在开发完接口后,可以通过 Apifox 的 IDEA 插件一键自动生成接口文档,多端同步,非常方便测试和维护。

    知识扩展:

  • 相关阅读:
    强化深度学习中利用时序差分法中的Sarsa算法解决风险投资问题实战(附源码 超详细必看)
    【微信小程序】好看的轮播图组件
    中国节日主题网站设计 红色建军节HTML+CSS 红色中国文化主题网站设计 HTML学生作业网页
    Excel 插入和提取超链接
    java-php-python-ssm智能健身房管理计算机毕业设计
    leetcode:141. 环形链表
    外包干了6天,技术明显退步。。。
    k3s 快速入门 - traefix 使用 - 1
    开机自启动Linux and windows
    Ajax学习笔记
  • 原文地址:https://blog.csdn.net/LiamHong_/article/details/133383392