什么是 SpringBoot 注解

Spring Boot 是一个用于开发和构建独立的 Spring 应用程序的框架,它通过注解和自动配置简化了 Spring 应用程序的创建和部署。Spring Boot 注解是用来描述和配置 Spring Boot 应用程序的元数据,它们可以应用于类、方法和字段等级别。Spring Boot 注解提供了各种功能,如配置属性、依赖注入、AOP、Web 开发等。

常见的 Spring Boot 注解

1. @SpringBootApplication: 是一个组合注解,用于描述一个 Spring Boot 应用程序的入口类。它自动扫描并注册所在包及其子包中的所有 Bean,还可以启用自动配置和组件扫描等功能。
2. @Configuration: 用于标记一个类为配置类,包含了 @Bean注解的方法用来定义Bean 对象的创建。这个注解通常与 @Autowired 一起使用,将配置类中的 Bean 对象注入到其他类中。
3. @RestController: 用于创建 RESTful 风格的 Web 服务,通过将返回的对象或数据直接写入 HTTP 响应中,省去了创建完整的 Controller 类的步骤。它是 @Controller 和 @ResponseBody 的组合注解。
4. @Autowired: 用于自动注入 Bean 对象,可以通过构造函数、字段、方法或 setter 方法实现依赖注入。Spring Boot 会自动根据类型和名称进行匹配,如果找到多个匹配的 Bean 对象,则可以使用 @Qualifier 注解进行限定。

常用的 Spring Boot 注解示例

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Java

1. @SpringBootApplication 注解标记了一个 Spring Boot 应用程序的入口类,用于自动扫描并注册所在包及其子包中的所有 Bean,可以启用自动配置和组件扫描等功能。它通常在 main 方法中执行 SpringApplication.run 方法来启动应用程序。

@Configuration
public class AppConfig {

    @Bean
    public UserService userService() {
        return new UserServiceImpl();
    }
}
Java

2. @Configuration 注解标记了一个类为配置类,通过 @Bean注解定义了一个名为userService 的 Bean 对象的创建方法。这个 Bean 对象将自动注入到其他类中,可以直接使用 @Autowired 注解进行依赖注入。

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users")
    public List getUsers() {
        return userService.getUsers();
    }
}
Java

3. @RestController 注解标记了一个类为 RESTful 风格的 Web 服务,它会将返回的对象或数据直接写入 HTTP 响应中。在这个示例中,通过 @Autowired注解将userService 注入到 UserController 类中,然后在 @GetMapping 注解的方法中调用 userService 的方法获取用户数据并返回给客户端。