< 返回新闻公共列表
如何用注解驱动开发实现高效Spring Boot应用:综合指南(上)
发布时间:2023-06-28 12:01:18
一、Spring Boot注解简介
1.1 什么是Spring Boot注解
Spring Boot注解是一种特殊的注释,用于指示Spring Boot框架应该如何配置应用程序。Spring Boot注解可以用于许多不同的方面,包括配置文件、控制器、服务、数据访问、安全性和测试。
1.2 Spring Boot注解的作用
Spring Boot注解的作用是简化应用程序的配置和开发过程。它们减少了开发人员必须手动执行的任务数量,使得应用程序的开发和部署变得更加简单和快速。Spring Boot注解还提供了一种标准的方式来进行配置,减少了配置错误的可能性。
二、Spring Boot常用注解详解
注解
解释
@SpringBootApplication
组合注解,包括@Configuration、@EnableAutoConfiguration和@ComponentScan注解,用于快速搭建SpringBoot应用
@RestController
用于声明一个基于REST的控制器类,相当于@Controller和@ResponseBody的组合注解
@RequestMapping
用于将HTTP请求映射到控制器类或者具体的处理方法上
@GetMapping
用于映射GET请求到具体的处理方法上
@PostMapping
用于映射POST请求到具体的处理方法上
@PutMapping
用于映射PUT请求到具体的处理方法上
@DeleteMapping
用于映射DELETE请求到具体的处理方法上
@PathVariable
用于将URL中的模板变量映射到方法参数中
@RequestParam
用于将请求参数映射到方法参数中
@RequestBody
用于将HTTP请求正文映射到方法参数中
@ResponseBody
用于将方法返回值序列化为HTTP响应正文
@ResponseStatus
用于定义HTTP响应的状态码和原因短语
@ExceptionHandler
用于处理控制器类中未捕获的异常
@Component
通用的Spring组件注解,用于标识一个类为Spring的管理组件
@Repository
用于标识一个DAO组件,让Spring自动生成相应的Bean对象
@Service
用于标识一个服务组件,让Spring自动生成相应的Bean对象
@Controller
用于标识一个控制器组件,让Spring自动生成相应的Bean对象
@Configuration
用于标识一个Java配置类,替代传统的xml配置
@Bean
用于在Java配置类中声明一个Bean对象
@Autowired
用于将Bean对象自动注入到被修饰的属性中
@Qualifier
用于指定具体的Bean对象注入到被修饰的属性中
@Value
用于将配置文件中的属性值注入到被修饰的属性中
@EnableAutoConfiguration
开启SpringBoot的自动配置功能
@EnableConfigurationProperties
用于将配置文件中的属性值映射到JavaBean中
@Import
用于将其他的配置类导入到当前配置类中
@ImportResource
用于导入传统的xml配置文件
@Profile
用于标识一个Bean对象在哪个环境下激活
@Conditional
用于根据条件来判断是否创建一个Bean对象
@EnableAsync
开启异步方法的执行
@Async
用于标识一个方法是异步方法
@EnableScheduling
开启定时任务的执行
@Scheduled
用于标识一个方法为定时任务
@Transactional
用于标识一个方法需要事务管理
@Cacheable
用于缓存方法的返回值
@CachePut
用于更新缓存中的对象
@CacheEvict
用于从缓存中删除对象
@EnableCaching
开启缓存功能
@EnableAspectJAutoProxy
开启AOP切面编程功能
@Aspect
用于定义一个切面
@Pointcut
用于定义一个切点
@Before
用于定义一个前置通知
@AfterReturning
用于定义一个后置通知
@AfterThrowing
用于定义一个异常通知
@After
用于定义一个最终通知
@Around
用于定义一个环绕通知
@Order
用于定义切面的执行顺序
@RestControllerAdvice
用于定义一个全局的异常处理类
@ControllerAdvice
用于定义一个控制器的异常处理类
@ModelAttribute
用于将模型数据绑定到控制器方法的参数上
@SessionAttributes
用于声明哪些模型属性需要放到HttpSession中
@CookieValue
用于将cookie值映射到控制器方法的参数上
@RequestHeader
用于将HTTP头部信息映射到控制器方法的参数上
@ResponseStatus
用于设置HTTP响应状态码
@ControllerAdvice
用于定义一个全局异常处理器
@ExceptionHandler
用于处理控制器类中未捕获的异常
@InitBinder
用于定制数据绑定器
@RequestMapping
用于将HTTP请求映射到控制器方法上
@SessionAttribute
用于将模型数据绑定到HttpSession中