SpringBoot常见注解
Spring Boot 注解是用来简化配置、管理组件、定义行为等的一种方式。这些注解主要目的是提高开发效率、降低代码的冗余性,并使开发者能够更容易地实现特定的功能或约定。
Spring Boot 主要注解:
@SpringBootApplication
: 用于标注主类,包含了@Configuration
、@EnableAutoConfiguration
和@ComponentScan
注解。@Configuration
: 用于定义配置类,其中可以声明 bean。@EnableAutoConfiguration
: 启用 Spring Boot 的自动配置机制。@ComponentScan
: 启用组件扫描,用于扫描指定包及其子包中的组件。
Spring Framework 注解:
@Autowired
: 自动装配,用于注入依赖。@Controller
、@Service
、@Repository
、@Component
: 用于标记Spring组件,分别用于标注控制器、服务、数据访问层和通用组件。@RequestMapping
: 用于映射HTTP请求的路径到具体的处理方法。@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
: 用于定义HTTP方法的快捷注解,分别对应GET、POST、PUT、DELETE请求。
Web 相关注解:
@RestController
: 结合@Controller
和@ResponseBody
,用于定义RESTful风格的控制器。@RequestParam
: 用于从请求中获取参数的值。@PathVariable
: 用于从URI中获取参数的值。@RequestBody
: 用于接收请求体中的数据。
数据库和持久化相关注解:
@Entity
、@Table
: 用于定义JPA实体类和表映射。@Repository
: 用于标记数据访问组件,通常用于DAO层。@Transactional
: 用于定义事务。
测试相关注解:
@SpringBootTest
: 用于在测试中加载Spring Boot的完整应用上下文。@RunWith(SpringRunner.class)
: 用于指定测试运行器,通常与@SpringBootTest
一起使用。@MockBean
: 用于创建模拟对象,替代真实的bean。
其他注解
@Value
: 用于从配置文件中获取值。@ConfigurationProperties
: 用于绑定配置文件中的属性到实体类。@Profile
: 用于标记不同的配置环境。@Async
: 用于标注异步方法。@Scheduled
: 用于标注定时任务方法。@Transactional
: 用于标记事务的方法。@Cacheable
、@CachePut
、@CacheEvict
: 用于处理缓存。@Secured
: 用于授权访问方法。@PreAuthorize
、@PostAuthorize
: 使用 SpEL 表达式进行方法前后的授权。@Endpoint
: 用于自定义 Actuator 端点。
式进行方法前后的授权。@Endpoint
: 用于自定义 Actuator 端点。@EnableHealthIndicator
: 用于启用自定义的健康检查指标。