springboot的常用注解有哪些?
时间: 2023-11-16 15:27:20 浏览: 110
一些常用的Spring Boot注解包括:@SpringBootApplication、@RestController、@RequestMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@Autowired、@Value、@ComponentScan、@EnableAutoConfiguration等等。
相关问题
SpringBoot常用注解有哪些?
### Spring Boot 常用注解列表及其用途
#### 启动和配置相关注解
- **`@SpringBootApplication`**
此组合注解用于启动类上,内部包含了 `@Configuration`, `@EnableAutoConfiguration` 和 `@ComponentScan`。这使得应用程序能够自动配置组件并扫描指定路径下的组件[^3]。
- **`@Configuration`**
定义配置类,允许开发者以编程方式代替传统的 XML 配置文件来声明 beans 或者其他配置项。
- **`@ComponentScan`**
指定要扫描的基础包名,默认情况下会扫描标记有此注解的类所在的整个包树结构内的所有带有 `@Component` 的 bean 类型,并注册到 IoC 容器中[^2].
- **`@EnableConfigurationProperties`**
当需要启用特定属性绑定至 Java 对象时使用该注解;通常配合 `@ConfigurationProperties` 使用以便支持外部化配置.
#### 控制器和请求映射相关注解
- **`@Controller` / `@RestController`**
标记一个类作为 MVC 架构中的控制器层组件,其中 `@RestController` 是一种简化版的 `@Controller` 加上了 `@ResponseBody` 效果,直接返回 JSON/XML 数据给前端调用方[^1].
- **`@RequestMapping`**, **`@GetMapping`**, **`@PostMapping`** 等
这些都是用来定义 HTTP 请求与处理器方法之间的映射关系,具体指定了 URL 路径模式、HTTP 方法类型等参数匹配规则.
#### 依赖注入相关注解
- **`@Autowired`**
自动装配依赖对象实例,可以作用于字段、构造函数或 setter 方法之上,在大多数情况下推荐优先考虑基于构造器的方式来进行 DI (Dependency Injection).
- **`@Value`**
读取配置文件中的值并赋给成员变量,适用于简单的字符串替换场景.
#### 数据访问和事务管理相关注解
- **`@Repository`**
表明这是一个 DAO 层组件,负责数据库交互逻辑封装,同时也提供了异常转换机制.
- **`@Transactional`**
应用于服务层的方法上来控制事务边界,确保一组操作要么全部成功提交,要么回滚失败状态变化.
#### 条件化配置相关注解
- **`@ConditionalOnProperty`**, **`@ConditionalOnClass`**, etc.
提供了一种灵活的方式来有条件地加载某些 Bean 或执行初始化工作,取决于环境变量设置或其他因素的存在与否.
#### 测试相关注解
- **`@Test`**
JUnit 单元测试框架提供的标准注解之一,表示被它修饰的方法是一个测试案例.
- **`@RunWith(SpringRunner.class)`**
结合 JUnit4 使用,告知运行器如何发现和加载上下文信息,从而可以在单元测试期间模拟完整的 Spring 上下文环境.
#### 其他实用注解
- **`@Scheduled`**
支持定时任务调度的功能,可以通过 cron 表达式精确设定触发时间间隔.
- **`@Cacheable`**, **`@CachePut`**, and **`@CacheEvict`**
缓存相关的三个主要注解,分别对应着获取缓存数据、更新缓存条目以及清除过期/不再需要的数据的操作.
```java
// 示例代码片段展示部分常见注解的应用
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController
@RequestMapping("/api/v1")
class ExampleController {
private final ExampleService exampleService;
@Autowired
public ExampleController(ExampleService exampleService){
this.exampleService = exampleService;
}
@GetMapping("/example")
String getExample(){
return "This is an API endpoint";
}
}
```
SpringBoot开发常用注解有哪些?请详细描述这些注解的作用!
SpringBoot开发常用的注解有很多,下面我列举一些常见的注解及其作用:
1. `@SpringBootApplication`: 该注解标注在主类上,用于启动SpringBoot应用程序。它是一个复合注解,包含了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`三个注解的功能。
2. `@RestController`: 该注解标注在Controller类上,用于处理HTTP请求,并将返回结果直接写入HTTP响应中,通常用于构建RESTful风格的API。
3. `@RequestMapping`: 该注解用于映射HTTP请求路径到Controller的处理方法上,可以用于类级别和方法级别。通过指定请求路径、HTTP方法等属性,将请求映射到对应的方法上进行处理。
4. `@PathVariable`: 该注解用于将URL路径中的占位符参数绑定到方法的参数上。
5. `@RequestParam`: 该注解用于将HTTP请求参数绑定到方法的参数上。
6. `@RequestBody`: 该注解用于将HTTP请求体中的数据绑定到方法的参数上,通常用于接收JSON或XML格式的数据。
7. `@ResponseBody`: 该注解用于将方法的返回值直接写入HTTP响应体中,通常用于返回JSON或XML格式的数据。
8. `@Autowired`: 该注解用于自动装配Spring容器中的Bean,可以通过构造方法、属性、方法等方式进行注入。
9. `@Component`: 该注解用于标注一个类为Spring容器的Bean。
10. `@Service`: 该注解用于标注一个类为业务层的Bean,通常用于Service类。
11. `@Repository`: 该注解用于标注一个类为数据访问层的Bean,通常用于DAO类。
12. `@Configuration`: 该注解用于标注一个类为配置类,通常与`@Bean`一起使用,用于定义Bean的创建和配置。
13. `@Bean`: 该注解用于在配置类中定义一个Bean,并将其加入到Spring容器中。
这些是SpringBoot开发中常用的注解,通过合理地使用这些注解,可以简化开发过程,提高开发效率。
阅读全文
相关推荐









