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注解及其用法示例。在实际开发中,可能还会使用到其他的注解,具体根据项目需求和设计选择。

相关文章

  • OpenCV在Java中的完整集成指南分享

    OpenCV在Java中的完整集成指南分享

    本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用实例,并强调性能优化与安全措施,助力开发者高效实现计算机视觉功能
    2025-07-07
  • Springboot实现Java阿里短信发送代码实例

    Springboot实现Java阿里短信发送代码实例

    这篇文章主要介绍了springboot实现Java阿里短信发送代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Spring boot AOP通过XML配置文件声明的方法

    Spring boot AOP通过XML配置文件声明的方法

    这篇文章主要介绍了Spring boot AOP通过XML配置文件声明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java向上转型和向下转型的区别说明

    Java向上转型和向下转型的区别说明

    这篇文章主要介绍了Java向上转型和向下转型的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java实现短信验证码服务的完整代码示例

    Java实现短信验证码服务的完整代码示例

    这篇文章主要介绍了Java实现短信验证码服务的完整代码示例,文中使用阿里云的短信服务进行应用开发的流程,包括将属性写入application.yml配置文件,定义类并指定配置文件,注入实体类对象等等,需要的朋友可以参考下
    2024-09-09
  • IDEA中GitLab的使用详解

    IDEA中GitLab的使用详解

    这篇文章主要介绍了IDEA中GitLab的使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Spring Security+MyBatis实现从数据库动态查询权限的完整实现方案

    Spring Security+MyBatis实现从数据库动态查询权限的完整实现方案

    文章详细介绍了SpringSecurity从数据库动态查询权限的实现方案,包括核心接口、数据库表设计、MyBatis查询权限、UserDetailsService实现、SpringSecurity配置、Controller使用及常见问题优化等内容,该方案生产可用,灵活且遵循SpringSecurity接口设计标准
    2026-04-04
  • java使用iterator遍历指定目录示例分享

    java使用iterator遍历指定目录示例分享

    这篇文章主要介绍了java使用iterator遍历指定目录示例,需要的朋友可以参考下
    2014-04-04
  • Java中的线程池ThreadPoolExecutor解析

    Java中的线程池ThreadPoolExecutor解析

    这篇文章主要介绍了Java中的线程池ThreadPoolExecutor解析,线程池,thread pool,是一种线程使用模式,线程池维护着多个线程,等待着监督管理者分配可并发执行的任务,需要的朋友可以参考下
    2023-11-11
  • spring aop 拦截业务方法,实现权限控制示例

    spring aop 拦截业务方法,实现权限控制示例

    这篇文章主要介绍了spring aop 拦截业务方法,实现权限控制示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01

最新评论