【Springboot系列】SpringBoot常用的一些注解

579a429daf314744b995f37351b46548

强烈推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能

b004071ozy_05_amzn


引言:

Spring Boot 是当今 Java 开发领域中最受欢迎的框架之一,它的出现极大地简化了 Spring 应用程序的开发和部署过程。

其中,注解是 Spring Boot 中非常重要的一部分,它们提供了便捷的方式来实现各种功能,从简单的请求映射到复杂的事务管理和切面编程。

本文将介绍 Spring Boot 中最常用的 17 个注解,并给出相应的详细说明和示例,帮助读者更好地理解和应用这些注解。


常用注解

Spring Boot 是一个基于 Spring 框架的开发工具,提供了一系列注解简化了 Spring 应用的开发。

以下是 Spring Boot 中最常用的注解:

@SpringBootApplication:

  • 说明:标识 Spring Boot 应用的主类,通常与 public static void main() 方法一起使用。

  • 示例:

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

@RestController:

  • 说明:标识控制器类,表示这个类中的所有方法都返回 RESTful 风格的数据。

  • 示例:

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

@RequestMapping:

  • 说明:映射 HTTP 请求到控制器方法,可以用于类级别和方法级别,指定 URL 路径。

  • 示例:

    @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 {
        @PostMapping("/create")
        public String create() {
            return "Resource created!";
        }
    }
    

@RequestParam:

  • 说明:提取请求参数,映射到控制器方法的参数上。

  • 示例:

    @RestController
    @RequestMapping("/api")
    public class MyController {
        @GetMapping("/greet")
        public String greet(@RequestParam("name") String name) {
            return "Hello, " + name + "!";
        }
    }
    

@PathVariable:

  • 说明:提取 URL 中的路径变量,映射到控制器方法的参数上。

  • 示例:

    @RestController
    @RequestMapping("/api")
    public class MyController {
        @GetMapping("/user/{id}")
        public String getUser(@PathVariable("id") int id) {
            return "User ID: " + id;
        }
    }
    

@Autowired:

  • 说明:自动装配 Spring 容器中的 Bean。

  • 示例:

    @Service
    public class MyService {
        public String getMessage() {
            return "Hello from MyService!";
        }
    }
    
    @RestController
    public class MyController {
        @Autowired
        private MyService myService;
    
        @GetMapping("/message")
        public String getMessage() {
            return myService.getMessage();
        }
    }
    

@Component/@Service/@Repository:

  • 说明:标识类为 Spring 管理的 Bean,分别用于通用组件、业务逻辑组件和数据访问组件。

  • 示例:

    @Service
    public class MyService {
        public String getMessage() {
            return "Hello from MyService!";
        }
    }
    

@Configuration/@Bean:

  • 说明:定义配置类和 Bean 的生成方法。

  • 示例:

    @Configuration
    public class MyConfiguration {
        @Bean
        public MyService myService() {
            return new MyService();
        }
    }
    

@Value:

  • 说明:注入配置属性值。

  • 示例:

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

@Qualifier:

  • 说明:指定注入的 Bean 名称。

  • 示例:

    @Service("myService")
    public class MyService {
        // Service implementation
    }
    
    @RestController
    public class MyController {
        @Autowired
        @Qualifier("myService")
        private MyService myService;
    }
    

@Conditional:

  • 说明:条件注解,根据条件决定是否创建 Bean。

  • 示例:

    @Conditional(MyCondition.class)
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
    

@EnableAutoConfiguration:

  • 说明:启用 Spring Boot 的自动配置机制。
  • 示例:通常在主类上使用,示例见第一个注解示例。

@EnableWebMvc:

  • 说明:启用 Spring MVC。
  • 示例:通常在主类上使用,示例见第一个注解示例。

@Transactional:

  • 说明:声明事务性方法。

  • 示例:

    @Service
    public class MyService {
        @Transactional
        public void performTransaction() {
            // Transactional operation
        }
    }
    

@Scheduled:

  • 说明:定时任务。

  • 示例:

    @Service
    public class MyScheduledService {
        @Scheduled(fixedRate = 5000)
        public void performTask() {
            // Scheduled task
        }
    }
    

@Aspect:

  • 说明:声明切面,实现 AOP 编程。

  • 示例:

    @Aspect
    @Component
    public class MyAspect {
        @Before("execution(* com.example.myapp.service.*.*(..))")
        public void beforeServiceMethods() {
            // Advice
        }
    }
    

总结:

通过本文的介绍,相信读者已经对 Spring Boot 中最常用的注解有了更深入的了解。

这些注解为开发者提供了丰富的功能和灵活的操作方式,使得开发 Spring Boot 应用变得更加高效和便捷。

然而,除了这些注解外,Spring Boot 还有许多其他强大的特性和功能,我们鼓励读者进一步探索和学习,以更好地利用 Spring Boot 来构建出色的应用程序。


强烈推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能

b004071ozy_05_amzn


专栏集锦

大佬们可以收藏以备不时之需:

Spring Boot 专栏:http://t.csdnimg.cn/peKde

ChatGPT 专栏:http://t.csdnimg.cn/cU0na

Java 专栏:http://t.csdnimg.cn/YUz5e

Go 专栏:http://t.csdnimg.cn/Jfryo

Netty 专栏:http://t.csdnimg.cn/0Mp1H

Redis 专栏:http://t.csdnimg.cn/JuTue

Mysql 专栏:http://t.csdnimg.cn/p1zU9

架构之路 专栏:http://t.csdnimg.cn/bXAPS


写在最后

感谢您的支持和鼓励! 😊🙏

如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot, spring cloud等系列文章,一系列干货随时送达!

csdn-end

  • 110
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 128
    评论
Spring Boot开发过程中,常用注解有许多。以下是一些常见的注解: 1. `@SpringBootApplication`:这是一个组合注解,标记主类为Spring Boot应用程序的入口点。它还包括了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`等注解。 2. `@RestController`:这个注解用于标记一个类为RESTful风格的控制器。它是`@Controller`和`@ResponseBody`注解的组合。 3. `@RequestMapping`:这个注解用于将HTTP请求映射到控制器的处理方法。它可以用于类级别和方法级别,用于指定URL路径和请求方法。 4. `@PathVariable`:这个注解用于将URL路径变量绑定到方法参数上。例如,`@RequestMapping("/users/{id}")`和`public User getUser(@PathVariable("id") int id)`可以将URL中的{id}作为方法参数。 5. `@RequestParam`:这个注解用于将请求参数绑定到方法参数上。例如,`public User getUser(@RequestParam("name") String name)`可以将请求中的name参数绑定到方法参数。 6. `@Autowired`:这个注解用于自动装配Spring管理的Bean。它可以用于字段、构造函数和方法上。 7. `@Component`:这个注解用于标记一个类为Spring管理的组件。它是通用的,可以用于任何类。 8. `@Service`:这个注解用于标记一个类为业务逻辑层的组件。它通常用于标记Service类。 9. `@Repository`:这个注解用于标记一个类为数据访问层的组件。它通常用于标记DAO类。 以上只是一些常见的注解Spring Boot还有很多其他的注解,用于实现不同的功能和特性。开发时可以根据实际需求选择合适的注解

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 128
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The-Venus

您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值