Spring Boot常用注解(经典干货)

下面是 Spring Boot 常用注解经典干货的完整攻略:

1. 常用注解

@SpringBootApplication

@SpringBootApplication 组合注解充分发挥了 @Configuration@EnableAutoConfiguration@ComponentScan 的作用。其中,@EnableAutoConfiguration 让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,例如添加 Tomcat、Jackson 等。

示例:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@RestController

@RestController 是 Spring4 之后新加入的注解,原来返回 json 需要 @ResponseBody@Controller两个注解组合。即@RestController = @ResponseBody + @Controller。

示例:

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String sayHello() {
        return "Hello World!";
    }
}

@Value

@Value 可以用来读取配置文件中的内容,支持 SpEL 表达式。

示例:

# application.yml
person:
  name: 张三
  age: 18
@Component
public class Person {
    @Value("${person.name}")
    private String name;
    @Value("#{${person.age} + 1}")
    private int age;

    // getters and setters
}

@Autowired

@Autowired 可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。

示例:

@Service
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    // other methods
}

@RequestMapping

@RequestMapping 提供路由信息,即请求 URL 与处理方法之间的映射。

示例:

@RestController
@RequestMapping("/api")
public class ApiController {
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello World!";
    }
}

@Transactional

@Transactional 注解应该只被应用到 public 方法上,这样注解才能被 Spring 所识别。

示例:

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    @Transactional
    public void saveUser(User user) {
        userRepository.save(user);
    }
}

@Async

@Async 表示异步执行。如果一个方法上面标记了 @Async ,那么这个方法就会异步执行。

示例:

@Service
public class AsyncService {
    @Async
    public void asyncMethod() {
        // 异步执行的方法
    }
}

@Scheduled

@Scheduled 可以实现定时任务。该注解可以标注一个方法,并使用 cron 表达式来配置定时任务的执行时间。

示例:

@Service
public class ScheduledService {
    @Scheduled(cron = "0/5 * * * * ?")
    public void scheduledMethod() {
        // 定时任务要执行的逻辑
    }
}

2. 总结

以上是 Spring Boot 常用注解的经典干货,包括 @SpringBootApplication@RestController@Value@Autowired@RequestMapping@Transactional@Async@Scheduled 等注解的用法。这些注解在 Spring Boot 程序的开发中非常常用,掌握了这些注解,可以为编写高效优雅的 Spring Boot 代码提供很大的便利。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot常用注解(经典干货) - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • java数组的三种扩容方式以及程序实现详解

    Java数组的三种扩容方式以及程序实现详解 为什么需要数组扩容 在 Java 中,数组的长度是固定的,一旦数组被创建,它的大小就不能再改变了。在一些场景下,我们需要在运行时动态地改变数组的大小,那么就需要用到数组扩容。 例如,我们开发一个数组队列,数组队列的底层实现是数组。如果元素个数超过了数组的初始长度,就需要对数组进行扩容,否则会导致队列无法继续存入元素…

    Java 2023年5月19日
    00
  • Spring扩展BeanFactoryPostProcessor使用技巧详解

    首先需要明确的是,BeanFactoryPostProcessor是在Spring容器实例化Bean之后,在Bean实例化之前处理BeanFactory中的BeanDefinition的接口。 一、BeanFactoryPostProcessor的使用场景 通常,在开发中,我们会利用BeanFactoryPostProcessor来修改或扩展BeanDefi…

    Java 2023年5月31日
    00
  • java工程师进阶之MyBatis延迟加载的使用

    Java工程师进阶之MyBatis延迟加载的使用攻略 MyBatis是Java中常用的一款ORM框架,它能够简化Java与关系型数据库的交互,提高工作效率。MyBatis在优化查询性能方面表现尤为突出,其中延迟加载技术尤为重要。本篇攻略将重点介绍MyBatis中的延迟加载技术的使用方法及技巧。 什么是MyBatis的延迟加载 MyBatis的延迟加载(Laz…

    Java 2023年5月20日
    00
  • Spring 配置文件XML头部文件模板实例详解

    讲解“Spring 配置文件XML头部文件模板实例详解”的完整攻略,包含以下内容: 标题 1. 介绍 本文将详细讲解Spring配置文件XML头部文件模板的实例用法,包括如何设置XML头部文件的信息,以及如何对XML文件进行约束和验证。 2. XML头部文件模板实例 一般情况下,在编写Spring的XML配置文件时,需要添加一个XML头部文件,包含XML声明…

    Java 2023年6月15日
    00
  • Java自定义异常与异常使用的最佳方式

    Java自定义异常与异常使用的最佳方式 什么是Java异常? 在Java编程中,异常(Exception)指的是程序在运行过程中出现了不正常的事件或错误的情况。当程序运行过程中发生异常,程序会停止当前处理,转而处理异常。因此,异常处理是程序设计中一个重要的部分。 Java中的异常处理方式 Java中的异常处理方式分为两种: 捕获和处理异常 抛出异常 捕获和处…

    Java 2023年5月27日
    00
  • 图文详解Java中的字节输入与输出流

    图文详解Java中的字节输入与输出流 什么是字节输入与输出流 在Java中,一个流就是一种数据传输方式。流分为字节流和字符流两种类型。字节输入流和输出流是Java中的一种字节流,主要用于读取和写入字节数据。 既然是字节数据,那么我们可以理解成Java中所有的数据最终都要用二进制的形式进行存储,而字节流就是能够读入/写出(input/output)这些二进制数…

    Java 2023年5月26日
    00
  • 详解用maven将dubbo工程打成jar包运行

    下面是详解用 Maven 将 Dubbo 工程打成 Jar 包运行的完整攻略。 1. 确认dubbo工程已经创建并可正常运行 首先,需要确认 Dubbo 工程已经创建并且能够正常运行。其中,建议使用 Java 8 或更高版本。 2. 在 pom.xml 文 件 中 增 加 打 包 插 件 配 置 在工程的 pom.xml 文件中,需要增加打包插件配置,以生成…

    Java 2023年5月20日
    00
  • Spring Boot 2和Redis例子实现过程解析

    Spring Boot2和Redis例子实现过程解析 Redis是一个高性能的键值存储系统,常用于缓存、消息队列等场景。在Spring Boot应用程序中,我们可以使用Spring Data Redis来快速开发Redis相关的应用程序。本文将详细讲解Spring Boot2和Redis例子实现过程解析,并提供两个示例。 1. 添加Redis依赖 在pom.…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部