Spring Boot 注解解读详解

这篇具有很好参考价值的文章主要介绍了Spring Boot 注解解读详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot提供了大量的注解来简化Spring应用的开发。下面我们将详细介绍一些最常用的Spring Boot注解。

一、核心注解

1. @SpringBootApplication

这是一个复合注解,用于标记应用的主类。它包含了以下三个注解:

  • @SpringBootConfiguration:等同于Spring的@Configuration,标明该类是配置类,并会把该类作为spring容器的源。
  • @EnableAutoConfiguration:启动自动配置,让Spring Boot根据类路径和定义的bean自动配置应用。
  • @ComponentScan:让Spring去扫描当前包及其子包下的类,并注册bean。
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

2. @Configuration

用于定义配置类,可替代XML配置文件。被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。

@Configuration
public class AppConfig {

    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

二、Web开发相关注解

1. @RestController

这是一个复合注解,等同于@Controller@ResponseBody的组合,表明这个类是一个全RESTful的控制器,不返回视图,只返回数据。

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

2. @RequestMapping

用于映射web请求,它有很多选项,包括指定HTTP方法、URL、请求参数、头部信息等。同时也有一些简化版的注解,如@GetMapping, @PostMapping, @PutMapping, @DeleteMapping

@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<User> getUsers() {
    // ...
}

3. @PathVariable

用于将请求URL中的模板变量映射到控制器处理方法的参数上。

@GetMapping("/users/{id}")
public User getUser(@PathVariable String id) {
    // ...
}

三、依赖注入相关注解

1. @Autowired

用于自动装配bean,可以用在构造器、属性、setter方法上。

@Autowired
private MyService myService;

2. @Bean

用于声明一个bean,它会被Spring容器所管理。

@Bean
public MyService myService() {
    return new MyServiceImpl();
}

3. @Component, @Service, @Repository, @Controller

这些注解用于定义bean,可以自动被Spring扫描和管理。其中,@Component是通用注解,其他三个注解是具有特定语义的注解:

  • `

@Service`:用于标注业务层组件;

  • @Controller:用于标注控制层组件(如Spring MVC的控制器);
  • @Repository:用于标注数据访问组件,即DAO组件。

这只是Spring Boot中众多注解中的一部分,还有很多其他有用的注解,如@EnableConfigurationProperties, @Profile, @PropertySource等,你可以根据自己的需求进行学习和使用。希望这篇文章对你理解Spring Boot中的注解有所帮助。文章来源地址https://www.toymoban.com/news/detail-456360.html

到了这里,关于Spring Boot 注解解读详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探秘Spring中Bean的注解宝典:解读存取Bean的相关注解及用法

    将对象存储在 Spring 中,有两种注解类型可以实现: 类注解:@Controller、@Service、@Repository、@Component、@Configuration 方法注解:@Bean 如下使用@Controller存储Bean代码: 使用获取上下文的方法获取上面存储的对象 效果为 如下使用@Service存储Bean代码: 输出结果跟@Controller一样 如下使

    2024年02月16日
    浏览(42)
  • Spring Boot常用注解

    在 Spring Boot 中,有许多注解用于简化和标识应用程序的不同方面。以下是一些常用的 Spring Boot 注解: @SpringBootApplication : 用于标识主应用程序类。通常与 @EnableAutoConfiguration 、 @ComponentScan 和 @Configuration 一起使用,它是一个复合注解,用于简化配置。 @Controller : 用于标识控

    2024年01月19日
    浏览(44)
  • Spring boot注解讲解

    人不走空                                                                            目录         🌈个人主页:人不走空       💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨   注解 注解列表如下 JPA注解 作者其他作品:   @SpringBootApplication :申

    2024年02月19日
    浏览(51)
  • Spring boot 常见注解

    Spring Boot是一个基于Spring框架的快速开发框架,它通过自动化配置和约定优于配置的原则,简化了Spring应用程序的开发过程。Spring Boot可以帮助开发者快速构建独立的、生产级别的应用程序,并且可以与其他Spring框架和第三方库无缝集成。 Spring Boot提供了很多便利的特性,比如

    2024年01月18日
    浏览(42)
  • Spring Boot 学习之——@SpringBootApplication注解(自动注解原理)

    springboot是基于spring的新型的轻量级框架,最厉害的地方当属**自动配置。**那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringApplication.run)最为耀眼,所以要揭开SpringBoot的神秘面纱

    2024年01月25日
    浏览(49)
  • 【Spring Boot】Spring Boot源码解读与原理剖析

    承载着作者的厚望,掘金爆火小册同名读物《Spring Boot源码解读与原理剖析》正式出书! 本书前身是掘金社区销量TOP的小册——《Spring Boot源码解读与原理剖析》,整个社区中有3600+开发者都不约而同地选择了这本小册,也使它成为掘金社区首屈一指的王牌Spring教程,非常能打

    2024年02月08日
    浏览(41)
  • Spring Boot 启动注解分析

    虽然我们在日常开发中,Spring Boot 使用非常多,算是目前 Java 开发领域一个标配了,但是小伙伴们仔细想想自己的面试经历,和 Spring Boot 相关的面试题都有哪些?个人感觉应该是比较少的,Spring Boot 本质上还是曾经 SSM 那一套,只是通过各种 starter 简化了配置而已,其他都是

    2024年02月13日
    浏览(42)
  • Spring boot自定义注解

    定义一个注解类 使用AOP对注解进行解析,需要定义一个切面类,包括自定义的切点方法normalPointCut(),以及连接点的处理方法normalPointAround()。连接点中的ProceedingJoinPoint可以获取被代理类的方法属性等。 2.1 定义注解 2.2 实现参数解释器 记得实现WebMvcConfigurer 接口配置LimitReque

    2023年04月27日
    浏览(41)
  • Spring Boot 中的 @Cacheable 注解

    在 Spring Boot 中,缓存是一个非常重要的话题。当我们需要频繁读取一些数据时,为了提高性能,可以将这些数据缓存起来,避免每次都从数据库中读取。为了实现缓存,Spring Boot 提供了一些缓存注解,其中最常用的是 @Cacheable 注解。 @Cacheable 注解用于标记一个方法需要被缓存

    2024年02月12日
    浏览(62)
  • Spring Boot面向切面加注解

    一.项目pom.xml文件引入切面依赖 二.定义注解类 注解: @Target @Target 说明了Annotation所修饰的对象范围 取值(ElementType)有: 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述域 3.LOCAL_VARIABLE:用于描述局部变量 4.METHOD:用于描述方法 5.PACKAGE:用于描述包 6.PARAMETER:用于描述参数 7.TYPE:用于描述

    2024年02月06日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包