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

yizhihongxing

下面是 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日

相关文章

  • 详解netty中常用的xml编码解码器

    为了讲解“详解netty中常用的xml编码解码器”的完整攻略,我们需要以下内容: XML 的基础知识和常见的 XML 接口介绍 Netty 中 XML 编码解码器的实现方式 在 Netty 中实现 XML 编码解码器的示例 下面我们就来一步一步地讲解。 1. XML 的基础知识和常见的 XML 接口介绍 XML 是一种常见的标记语言,用于描述各种各样的数据和…

    Java 2023年6月1日
    00
  • Java如何利用Mybatis进行数据权限控制详解

    Java如何利用Mybatis进行数据权限控制详解 什么是数据权限控制 数据权限控制是指通过安全管理机制,对不同用户或用户组授权不同的数据操作权限,从而控制这些用户或用户组在访问企业数据资源时的范围和强度。 Mybatis数据权限控制的实现过程 首先,在Mybatis中配置Interceptor拦截器来实现数据权限控制,Interceptor是用来拦截SQL…

    Java 2023年5月20日
    00
  • 教你使用springSecurity+jwt实现互踢功能

    我会从以下几个方面讲解如何使用Spring Security和JWT实现互踢功能: Spring Security和JWT简介 实现互踢功能的思路 配置Spring Security和JWT 实现互踢功能的示例 防止并发登录 防止token重复使用 Spring Security和JWT简介 Spring Security是基于Spring框架的安全框架,提…

    Java 2023年5月20日
    00
  • Java数据溢出代码详解

    Java数据溢出代码详解 什么是数据溢出? 在计算机程序中,数据溢出指的是计算结果超出了数据类型所能表示范围的情况。在Java程序中,数据溢出会导致程序运行出错或计算结果不准确。 数据溢出的原因 Java中的数据类型有固定的范围,例如byte类型的范围是-128到127,short类型的范围是-32768到32767,当我们使用一个超出范围的值进行计算时,结…

    Java 2023年5月26日
    00
  • SWT(JFace)小制作 FileBrowser文件浏览

    SWT(Standard Widget Toolkit)是Java语言中的GUI(Graphical User Interface)工具包,而JFace是SWT的扩展库,旨在提供更高级别的GUI组件和增强功能。在这个攻略中,我们将使用SWT和JFace来创建一个简单的文件浏览器,使用户能够查看和浏览系统中的文件和文件夹。 准备工作 在开始创建文件浏览器之前,…

    Java 2023年5月31日
    00
  • servlet实现文件上传与下载功能

    实现文件上传和下载功能是Web开发中比较常见的需求,其中使用Servlet技术是一种比较常用的方式。下面我将从Servlet的角度详细讲解如何实现文件上传和下载功能。 文件上传 1. 创建 HTML 表单 我们需要在 HTML 表单中添加 <input> 标签,然后设置 type 属性为 file,即可实现文件上传功能。 <form act…

    Java 2023年6月15日
    00
  • IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解

    IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境的步骤详解 1. 环境准备 在开始搭建SSM开发环境之前,我们需要准备以下环境: JDK 1.8或以上版本 IntelliJ IDEA Maven SpringBoot 2. 创建SpringBoot项目 在IntelliJ IDEA中创建一个SpringBoot项目,可以使用Sprin…

    Java 2023年5月18日
    00
  • Spring Security认证的完整流程记录

    下面我将详细讲解Spring Security认证的完整流程记录: 1. Spring Security是什么 Spring Security 是 Spring 提供的安全扩展框架,是一个框架组件,其目标是为基于 Spring 的应用程序提供声明性安全保护。 2. Spring Security 的认证流程 Spring Security 的认证流程可以概括…

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