Spring框架及其生态系统(包括Spring MVC和Spring Boot)中的注解用于简化配置、定义组件和处理自动装配等。以下是一些常见注解的详细列表:
Spring Framework 注解
核心注解
@Autowired
: 自动注入依赖。@Component
: 定义一个Bean。@Service
: 表示一个服务层组件。@Repository
: 表示一个数据仓库组件,用于数据库访问。@Controller
: 定义一个控制器组件,在Spring MVC中使用。@Configuration
: 表示一个配置类,用于定义Beans。@Bean
: 在配置类中定义一个Bean。@Value
: 注入属性值。@Profile
: 根据环境激活不同的配置。@Scope
: 定义Bean的作用域。
生命周期注解
@PostConstruct
: Bean的初始化回调方法。@PreDestroy
: Bean的销毁回调方法。
事务相关注解
@Transactional
: 定义一个事务边界。
AOP 相关注解
@Aspect
: 标注一个切面。@Pointcut
: 定义一个切点。@Before
,@After
,@AfterReturning
,@AfterThrowing
,@Around
: 定义通知类型。
Spring MVC 注解
控制器相关注解
@RequestMapping
: 映射HTTP请求到控制器的方法。@GetMapping
,@PostMapping
,@PutMapping
,@DeleteMapping
,@PatchMapping
: 请求映射的特定HTTP方法快捷方式。@ResponseBody
: 表示方法的返回值应该作为HTTP响应体。@ModelAttribute
: 绑定方法参数或返回值到一个命名的模型属性。@RequestParam
: 绑定请求参数到方法参数。@PathVariable
: 绑定URI模板变量到方法参数。@SessionAttributes
: 指定模型属性如何存储到session中。@CookieValue
: 绑定一个cookie值到方法参数。
异常处理注解
@ExceptionHandler
: 处理控制器中的异常。@ControllerAdvice
: 允许全局控制器相关的配置,如异常处理。
数据验证注解
@Valid
: 应用验证器到方法参数。@Validated
: 用于分组验证,可以代替@Valid
。
Spring Boot 注解
启动注解
@SpringBootApplication
: 组合注解,用于启动Spring Boot应用,包括@Configuration
、@EnableAutoConfiguration
、@ComponentScan
。@EnableAutoConfiguration
: 启用Spring Boot的自动配置。@SpringBootConfiguration
: 表明是一个Spring Boot配置类。
条件注解
@ConditionalOnClass
,@ConditionalOnBean
,@ConditionalOnMissingBean
,@ConditionalOnProperty
,@ConditionalOnWebApplication
,@ConditionalOnNotWebApplication
: 这些注解用于条件化地配置Bean,基于不同的条件,如类路径上的类存在、Bean的存在与否、属性值或应用类型。
属性配置注解
@ConfigurationProperties
: 绑定配置文件的属性到一个Bean。@PropertySource
: 指定一个属性文件被加载到环境中。@Value
: 注入具体的属性值。
以上注解是Spring框架及其生态系统中常用的一些注解,了解并熟练应用这些注解对于使用Spring进行开发是非常重要的。