Spring Boot 提供了许多注解来简化开发和配置。以下是一些最常用的 Spring Boot 注解及其作用:
-
@SpringBootApplication
:- 组合注解,用于启动 Spring 应用的自动配置。它包括
@Configuration
、@EnableAutoConfiguration
和@ComponentScan
。 - 用法:通常放在主类上。
- 组合注解,用于启动 Spring 应用的自动配置。它包括
-
@EnableAutoConfiguration
:- 告诉 Spring Boot 基于类路径中的 jar 包依赖为当前项目进行自动配置。
- 用法:放在配置类上。
-
@ComponentScan
:- 用于指定 Spring 扫描组件的位置。
- 用法:放在配置类上,可以指定扫描的包路径。
-
@RestController
:- 组合注解,包括
@Controller
和@ResponseBody
,用于定义 RESTful Web Services。 - 用法:放在控制器类上。
- 组合注解,包括
-
@RequestMapping
:- 用于定义请求映射,将 HTTP 请求映射到特定的处理方法上。
- 用法:放在处理请求的方法上。
-
@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
:- 用于处理特定的 HTTP 方法(GET、POST、PUT、DELETE)的请求映射。
- 用法:放在处理特定 HTTP 方法请求的方法上。
-
@Autowired
:- 自动导入依赖的 bean。
- 用法:放在字段、构造器、设置方法和普通方法上。
-
@Component
:- 标识一个类为 Spring 管理的组件。
- 用法:放在类上。
-
@Service
:- 标识一个类为服务层组件。
- 用法:放在服务类上。
-
@Repository
:- 标识一个类为数据访问组件,即 DAO 组件。
- 用法:放在数据访问类上。
-
@Controller
:- 标识一个类为 Spring MVC 控制器。
- 用法:放在控制器类上。
-
@ResponseBody
:- 表示该方法的返回值作为 HTTP 响应的正文返回,而不是跳转到某个视图。
- 用法:放在方法上。
-
@RequestBody
:- 用于读取 Http 请求内容,自动将请求内容转换成指定类型的参数。
- 用法:放在方法参数上。
-
@RequestParam
:- 用于读取请求参数。
- 用法:放在方法参数上。
-
@PathVariable
:- 用于读取 URL 中的占位符参数。
- 用法:放在方法参数上。
-
@Value
:- 注入外部配置到字段中。
- 用法:放在字段上。
-
@Qualifier
:- 当有多个同一类型的 bean 时,用于指定具体注入哪一个。
- 用法:放在
@Autowired
注解旁边。
-
@Configuration
:- 定义配置类,可替换 xml 配置文件。
- 用法:放在配置类上。
-
@Bean
:- 在配置类中声明一个 bean。
- 用法:放在方法上。
-
@Profile
:- 指定组件在哪个环境的配置下才能被注册到容器中。
- 用法:放在类或方法上。
-
@Lazy
:- 延迟加载 bean,只有在第一次使用该 bean 时才初始化。
- 用法:放在字段或方法参数上。
-
@Scope
:- 定义 bean 的作用域。
- 用法:放在方法上。
-
@PostConstruct
和@PreDestroy
:- 分别用于在 bean 创建后和销毁前执行的方法。
- 用法:放在方法上。
这些注解是 Spring Boot 开发中非常核心和常用的,它们极大地简化了配置和开发过程。