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日

相关文章

  • 微信小程序 开发中遇到问题总结

    微信小程序开发中遇到问题总结 问题1:如何进行页面跳转? 在小程序的开发过程中,我们经常需要从一个页面跳转到另一个页面。这时候,我们可以使用wx.navigateTo和wx.redirectTo这两个API来实现。wx.navigateTo会保留当前页面,而wx.redirectTo则会关闭当前页面并跳转到目标页面。 示例代码如下: // pages/ind…

    Java 2023年5月23日
    00
  • Java 8中的18个常用日期处理(收藏)

    Java 8中的18个常用日期处理(收藏) 介绍 Java 8以前的日期处理方式比较麻烦,Java 8引入了新的日期时间API,也称为JSR-310,使对日期和时间的处理更加简便。本文将介绍Java 8中的18个常用日期处理方法。 1. 获取当天的日期 LocalDate today = LocalDate.now(); 使用LocalDate.now()方…

    Java 2023年5月20日
    00
  • Java安全之Filter权限绕过的实现

    Java安全之Filter权限绕过的实现,是指通过攻击Web应用程序的Filter功能,绕过应用程序中设置的权限控制,从而达到越权访问和操作的目的。具体实现方式如下: 1. 目标分析 攻击者需要先分析目标Web应用程序的Filter功能,了解其过滤逻辑和拦截规则,并找到绕开权限控制的漏洞点。 2. 构建攻击环境 攻击者可以通过自建Web应用程序,或者从网上下…

    Java 2023年5月20日
    00
  • Java之MyBatis的Dao方式以及Dao动态代理详解

    Java之MyBatis的Dao方式以及Dao动态代理详解 MyBatis是基于Java语言的一个ORM框架,它通过XML或注解的方式将Java对象映射到数据库中的表上。在使用MyBatis时,我们可以采用不同的方式进行数据访问,其中之一便是Dao方式。本文将对MyBatis的Dao方式以及Dao动态代理进行详解。 Dao方式 Dao即数据访问对象,它是一种…

    Java 2023年5月20日
    00
  • 在编码时如何使用\r与\n,两者的区别

    使用\r和\n这两个字符在编码时很重要,它们实际上都是控制字符,用于控制以何种方式显示文本。但是,它们之间存在着明显的区别。下面将详细讲解它们的使用方法和区别。 什么是\r和\n? 首先,\r和\n都是控制字符,用于控制文本在屏幕上的显示方式。其中,\r表示“回车”,用于将光标返回到当前行的开头,而\n则表示“换行”,用于将光标移动到下一行的开头。 在Uni…

    Java 2023年5月20日
    00
  • Java实现ATM系统超全面步骤解读建议收藏

    Java实现ATM系统超全面步骤解读 1. 前言 ATM系统是日常生活中经常使用的自助银行系统,本文将介绍如何使用Java完成ATM系统的开发。该系统主要包括用户登录、查询账户信息、存款、取款、转账等基本功能。 2. 数据库设计 在开发ATM系统之前,需要先进行数据库设计。具体步骤如下: 2.1. 创建数据库 首先需要在MySQL数据库中创建一个名为ATM的…

    Java 2023年5月19日
    00
  • Jmeter入门教程

    JMeter入门教程 JMeter是一个基于Java开发的功能强大的负载测试工具,被广泛应用于Web应用程序的性能测试、API测试、负载测试等领域。本教程将引导初学者逐步了解JMeter并学会执行基本的负载测试。 安装JMeter 首先,您需要下载并安装最新版本的JMeter。可以从JMeter官方网站(https://jmeter.apache.org/)…

    Java 2023年5月26日
    00
  • Spring MVC的国际化实现代码

    Spring MVC的国际化实现代码攻略 在Spring MVC中,我们可以使用国际化来实现多语言支持。本文将详细讲解Spring MVC的国际化实现代码,包括如何配置国际化资源文件、如何使用MessageSource对象获取国际化信息等。 配置国际化资源文件 在Spring MVC中,我们可以使用.properties文件来存储国际化信息。下面是一个示例代…

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