Spring Boot 常用注解大全

 更新时间:2024年02月22日 15:28:29   投稿:wdc  
这篇文章主要介绍了Spring Boot 常用注解大全,需要的朋友可以参考下

以下是Spring Boot中常用的注解及其详细解释以及相应的代码示例:

@SpringBootApplication: 这个注解用于标识一个Spring Boot应用的主类。它整合了 @Configuration@EnableAutoConfiguration 和 @ComponentScan

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

@RestController: 这个注解用于定义一个RESTful控制器,在Spring MVC中它表示所有的处理方法都返回一个Restful风格的数据。

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

@Service: 这个注解用于标识一个类是业务逻辑层的组件。

@Service
public class UserService {
    // Service logic here
}

@Repository: 这个注解用于标识一个类是数据访问层的组件。

@Repository
public class UserRepository {
    // Data access logic here
}

@Component: 这个注解用于标识一个类是Spring的组件。

@Component
public class MyComponent {
    // Component logic here
}

@Autowired: 这个注解用于自动装配Spring Bean。

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

    // Service logic here
}

@Qualifier: 当多个实现类满足一个接口时,可以与 @Autowired 配合使用以指定具体要注入的Bean。

@Service
public class UserService {
    @Autowired
    @Qualifier("userDatabaseRepository")
    private UserRepository userRepository;

    // Service logic here
}

@RequestMapping: 这个注解用于将HTTP请求映射到处理方法上。

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

@GetMapping@PostMapping@PutMapping@DeleteMapping: 这些注解用于将HTTP GET、POST、PUT、DELETE 请求映射到处理方法上。

@RestController
@RequestMapping("/api")
public class MyController {
    @GetMapping("/get")
    public String get() {
        return "GET Request";
    }

    @PostMapping("/post")
    public String post() {
        return "POST Request";
    }

    @PutMapping("/put")
    public String put() {
        return "PUT Request";
    }

    @DeleteMapping("/delete")
    public String delete() {
        return "DELETE Request";
    }
}

@RequestParam: 这个注解用于从请求中获取参数的值。

@GetMapping("/user")
public String getUserById(@RequestParam Long id) {
    // logic to fetch user by id
}

@PathVariable: 这个注解用于从请求的URL中获取参数的值。

@GetMapping("/user/{id}")
public String getUserById(@PathVariable Long id) {
    // logic to fetch user by id
}

@ResponseBody: 这个注解用于将方法返回的对象转换为HTTP响应的主体部分。

@GetMapping("/user")
@ResponseBody
public User getUser() {
    // logic to fetch user
    return user;
}

@RequestBody: 这个注解用于将HTTP请求的主体部分转换为方法参数。

@PostMapping("/user")
public String addUser(@RequestBody User user) {
    // logic to add user
}

@ResponseStatus: 这个注解用于指定方法返回的HTTP状态码。

@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
    // Exception handling logic here
}

@ExceptionHandler: 这个注解用于定义全局异常处理方法。

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
    public String handleException(Exception ex) {
        // Exception handling logic here
        return "error";
    }
}

@Configuration: 这个注解用于定义配置类,通常与 @Bean 注解一起使用。

@Configuration
public class AppConfig {
    @Bean
    public UserService userService() {
        return new UserService();
    }
}

@Value: 这个注解用于从配置文件中获取值。

@Component
public class MyComponent {
    @Value("${my.property}")
    private String myProperty;

    // Component logic here
}

以上是一些常见的Spring Boot注解及其用法示例。在实际开发中,可能还会使用到其他的注解,具体根据项目需求和设计选择。

相关文章

  • Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐)

    Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐)

    今天给大家带来一篇教程关于Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图的技能,包括环境配置及圆环图前端后端实现代码,感兴趣的朋友一起看看吧
    2021-06-06
  • 解答为什么 Java 线程没有Running状态

    解答为什么 Java 线程没有Running状态

    Java 线程没有Running状态指的是一个在 JVM 中执行 的线程处于的状态,本文小编将为大家详解一二,需要的朋友可以参考下面文章具体内容
    2021-09-09
  • java环境变量配置和adb的配置教程详解

    java环境变量配置和adb的配置教程详解

    这篇文章主要介绍了java环境变量配置和adb的配置教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • SpringBoot定时任务两种(Spring Schedule 与 Quartz 整合 )实现方法

    SpringBoot定时任务两种(Spring Schedule 与 Quartz 整合 )实现方法

    本篇文章主要介绍了SpringBoot定时任务两种(Spring Schedule 与 Quartz 整合 )实现方法,详细的介绍了Spring Schedule 与 Quartz 整合的两种方法,有兴趣的可以了解一下。
    2017-03-03
  • 浅谈Redis在微服务架构中的几种应用场景

    浅谈Redis在微服务架构中的几种应用场景

    本文介绍在SpringCloud中使用Redis作为Pub/Sub异步通信、缓存或主数据库和配置服务器的三种场景应用。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • IDEA使用Gradle构建SpringBoot项目工程的详细教程

    IDEA使用Gradle构建SpringBoot项目工程的详细教程

    这篇文章主要介绍了IDEA使用Gradle构建SpringBoot项目工程的教程详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • JMeter自定义日志与日志分析的实现

    JMeter自定义日志与日志分析的实现

    JMeter与Java程序一样,会记录事件日志,本文就介绍一下JMeter自定义日志与日志分析的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 基于java中反射的总结分析

    基于java中反射的总结分析

    所谓反射,就是根据一个已经实例化了的对象来还原类的完整信息 至少对我而言,我认为它带给我的好处是,让我从下往上的又了解了一遍面向对象
    2013-05-05
  • java8、jdk8日期转化成字符串详解

    java8、jdk8日期转化成字符串详解

    在本篇文章中小编给大家整理了关于java8、jdk8日期转化成字符串的相关知识点和代码,需要的朋友们学习下。
    2019-04-04
  • Spring中使用Hystrix实现熔断详解

    Spring中使用Hystrix实现熔断详解

    这篇文章主要介绍了Java中使用Hystrix实现熔断详解,对于第一个问题,查看hystrix源码可以看到,如果有缓存配置是优先使用的缓存的,因此如果配置更新,必须要更新缓存,不能使用Hystrix.reset()方法来更新缓存,需要的朋友可以参考下
    2023-12-12

最新评论