在 Spring Boot 项目中,注解(Annotations)是提高代码可读性和维护性的关键工具。它们不仅简化了配置过程,还增强了代码的功能。本文将详细介绍一些常用的 Spring Boot 注解及其作用。
一、基础注解
1. @SpringBootApplication
这是 Spring Boot 应用程序的入口点,通常用于主类上。它包含了三个重要的注解:@Configuration、@EnableAutoConfiguration 和 @ComponentScan。
作用:标记一个类作为 Spring Boot 应用程序的启动类,并启用自动配置和组件扫描。
示例:java深色版本@SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
2. @Configuration
用于定义一个类为配置类,允许在其中定义 Bean。
作用:标识一个类为 Spring 配置类,可以在这个类中使用 @Bean 注解来定义 Bean。
示例:java深色版本@Configuration public class AppConfig { @Bean public MyService myService() { return new MyServiceImpl(); } }
示例:java深色版本@Bean public MyRepository myRepository() { return new MyRepositoryImpl(); }
二、组件扫描与依赖注入
4. @ComponentScan
用于指定 Spring 应该扫描哪些包以查找组件、服务等。
作用:指定 Spring 应该扫描哪些包来查找组件、服务等。
示例:java深色版本@SpringBootApplication @ComponentScan(basePackages = "com.example") public class MyApplication { // ... }
5. @Autowired
用于自动装配依赖项,可以在构造函数、字段或 setter 方法上使用。
作用:自动注入所需的依赖项。
示例:java深色版本@Service public class MyService { private final MyRepository repository; @Autowired public MyService(MyRepository repository) { this.repository = repository; } }
示例:java深色版本@GetMapping("/users/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } @PostMapping("/users") public User createUser(@RequestBody User user) { return userService.createUser(user); }