0


探索Spring最常用的30个注解

目录

前言:

欢迎来到探索Spring注解的奇妙之旅!在这篇博客中,我们将深入研究Spring框架中最常用的30个注解,揭示它们的作用和用法,助你更好地掌握Spring的强大功能。

Spring作为一个广泛应用的Java框架,注解是其核心特性之一,为开发人员提供了便捷、灵活的方式来配置和管理应用。无论你是初学者还是有一定经验的开发者,这篇博客都将为你解密Spring注解的奥秘,为你提供实用而有深度的注解应用技巧。

让我们一同踏上Spring注解之旅,深入了解这些神奇的注解,为你的Spring应用增色不少。祝你在这趟注解之旅中有所收获,希望这篇博客成为你学习Spring注解的得力指南! 🌼🌐

1-10 Spring常用注解解析

  1. @Autowired - 自动注入@AutowiredprivateMyService myService;
  2. @Controller - 控制器@ControllerpublicclassMyController{// Controller code}
  3. @Service - 服务层@ServicepublicclassMyService{// Service code}
  4. @Repository - 数据仓库@RepositorypublicclassMyRepository{// Repository code}
  5. @RequestMapping - 请求映射@Controller@RequestMapping("/my")publicclassMyController{// Controller code}
  6. @GetMapping - GET请求映射@Controller@RequestMapping("/my")publicclassMyController{@GetMapping("/info")publicStringgetInfo(){// Method code}}
  7. @PostMapping - POST请求映射@Controller@RequestMapping("/my")publicclassMyController{@PostMapping("/create")publicStringcreate(){// Method code}}
  8. @PathVariable - 路径变量@Controller@RequestMapping("/my")publicclassMyController{@GetMapping("/info/{id}")publicStringgetInfo(@PathVariableLong id){// Method code}}
  9. @RequestParam - 请求参数@Controller@RequestMapping("/my")publicclassMyController{@GetMapping("/info")publicStringgetInfo(@RequestParamString name){// Method code}}
  10. @ResponseBody - 返回JSON格式数据@Controller@RequestMapping("/my")publicclassMyController{@GetMapping("/info")@ResponseBodypublicMap<String,String>getInfo(){// Method code}

11-20 Spring进阶注解深度解析

  1. @Configuration - 配置类@ConfigurationpublicclassAppConfig{// Configuration code}
  2. @Bean - 定义Bean@ConfigurationpublicclassAppConfig{@BeanpublicMyServicemyService(){returnnewMyServiceImpl();}}
  3. @ComponentScan - 组件扫描@Configuration@ComponentScan("com.example")publicclassAppConfig{// Configuration code}
  4. @Value - 注入属性值@ComponentpublicclassMyComponent{@Value("${my.property}")privateString property;}
  5. @Qualifier - 限定符注入@Autowired@Qualifier("myServiceImpl")privateMyService myService;
  6. @Profile - 环境配置@Configuration@Profile("dev")publicclassDevConfig{// Dev configuration code}
  7. @Scope - Bean作用域@Component@Scope("prototype")publicclassMyComponent{// Component code}
  8. @Lazy - 懒加载@Component@LazypublicclassMyComponent{// Component code}
  9. @Async - 异步方法@ServicepublicclassMyService{@AsyncpublicvoidasyncMethod(){// Async method code}}
  10. @Scheduled - 定时任务@ServicepublicclassMyService{@Scheduled(fixedRate =5000)publicvoidscheduledMethod(){// Scheduled method code}}

21-30 Spring进阶注解深度解析

  1. @Transaction - 事务管理@ServicepublicclassMyService{@TransactionalpublicvoidperformTransaction(){// Transactional method code}}
  2. @Cacheable - 缓存数据@ServicepublicclassMyService{@Cacheable("myCache")publicStringgetCachedData(){// Cached data retrieval code}}
  3. @CacheEvict - 清除缓存@ServicepublicclassMyService{@CacheEvict("myCache")publicvoidclearCache(){// Cache clearing code}}
  4. @Validated - 参数验证@RestControllerpublicclassMyController{@PostMapping("/validate")publicResponseEntity<String>validateData(@RequestBody@ValidatedMyDto myDto){// Validation code}}
  5. @ExceptionHandler - 异常处理@ControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(MyException.class)publicResponseEntity<String>handleMyException(MyException ex){// Exception handling code}}
  6. @ModelAttribute - 模型属性@ControllerpublicclassMyController{@ModelAttribute("myData")publicMyDataprepareData(){// Model attribute preparation code}}
  7. @CookieValue - 获取Cookie值@ControllerpublicclassMyController{@GetMapping("/getCookie")publicStringgetCookieValue(@CookieValue(name ="myCookie")String cookieValue){// Cookie value retrieval code}}
  8. @RequestHeader - 获取请求头@ControllerpublicclassMyController{@GetMapping("/getHeader")publicStringgetHeaderValue(@RequestHeader("myHeader")String headerValue){// Header value retrieval code}}
  9. @ResponseStatus - 设置响应状态@RestControllerpublicclassMyController{@ResponseStatus(HttpStatus.CREATED)@PostMapping("/createResource")publicvoidcreateResource(){// Resource creation code}}
  10. @PropertySource - 加载属性文件@Configuration@PropertySource("classpath:my.properties")publicclassMyConfig{// Configuration code}

结语

感谢你的持续关注,希望这30个Spring注解能够为你的Spring项目开发提供更多便利和灵活性。Spring注解的丰富功能,让开发变得更加高效、简洁。

期待下次与你一同探讨更多的Spring框架知识,愿你在Spring的世界中越走越远,创造出更加出色的应用! 🌺📚

标签: spring java 后端

本文转载自: https://blog.csdn.net/weixin_44976692/article/details/135360419
版权归原作者 码农阿豪 所有, 如有侵权,请联系我们删除。

“探索Spring最常用的30个注解”的评论:

还没有评论