行业资讯 2025年08月6日
0 收藏 0 点赞 515 浏览 3434 个字
摘要 :

文章目录 一、组件管理注解 (一)Bean相关注解 (二)依赖注入注解 二、Web相关注解(请求处理注解) (一)请求映射注解 (二)请求体处理注解 三、配置相关注解 ……




  • 一、组件管理注解
    • (一)Bean相关注解
    • (二)依赖注入注解
  • 二、Web相关注解(请求处理注解)
    • (一)请求映射注解
    • (二)请求体处理注解
  • 三、配置相关注解
    • (一)配置类注解
    • (二)条件控制注解
    • (三)属性注入注解
  • 四、配置启动注解
    • (一)@SpringBootApplication
    • (二)@EnableAutoConfiguration
  • 五、其他常用注解
    • (一)定时任务注解
    • (二)事务管理注解
    • (三)数据校验注解
    • (四)全局异常处理注解

    Spring Boot注解是极为关键的一部分,能极大地简化配置流程,显著提升开发效率。接下来,我们就深入了解一下Spring Boot中那些常用的注解。

    一、组件管理注解

    (一)Bean相关注解

    1. @Component:这个注解的作用是把一个类标记为Spring组件(Bean) ,Spring容器会自动对其进行检测和注册。它属于通用组件注解,在项目的各个层次都适用。比如,在一个工具类上使用@Component,容器就能管理这个工具类的实例。
    2. @ComponentScan:利用该注解,Spring会自动扫描指定包及其子包下的Spring组件,方便进行统一管理,避免手动逐个配置。
    3. @Controller:此注解专门用于标识控制层组件,它是@Component的一个特化注解。在Web开发中,被@Controller标注的类负责处理HTTP请求,并返回视图或者响应数据。
    @Controller  
    public class MyController {  
        // 映射“/hello”请求到该方法
        @RequestMapping(\"/hello\")  
        public String hello() {  
            return \"hello\";  
        }  
    }
    
    1. @RestController:它结合了@Controller@ResponseBody的功能。被@RestController标注的类,其返回的对象会自动序列化为JSON或XML格式,并写入HTTP响应体中,在前后端分离的项目中应用广泛。
    2. @Service:用于标识服务层组件,是@Component的特化注解,主要用来表示业务逻辑服务,将业务处理的相关代码封装在被该注解标注的类中。
    3. @Repository:这个注解用于标识持久化组件(DAO层) ,同样是@Component的特化注解。在项目里,它主要用于和数据库进行交互,实现数据的持久化操作。
    4. @Bean:这是一个方法注解,用于修饰方法。被修饰方法的返回对象会被添加到Spring容器中,其他组件可以通过依赖注入的方式来使用这个对象。
    5. @Configuration:把一个类标记为配置类,它也是@Component的特化注解。通常会和@Bean注解搭配使用,在配置类中定义各种Bean实例。
    @Configuration  
    public class AppConfig {  
        // 定义一个名为myService的Bean
        @Bean  
        public MyService myService() {  
            return new MyServiceImpl();  
        }  
    }
    
    1. @Scope:通过这个注解可以声明一个Spring Bean实例的作用域,常见的作用域有单例模式、原型模式等,开发者可根据实际需求选择合适的作用域。

    (二)依赖注入注解

    1. @Autowired:由Spring框架提供,用于自动注入依赖对象,在项目中能快速建立对象之间的依赖关系,减少手动创建对象的繁琐过程。
    2. @Resource:这是JDK提供的注解,它可以按名称自动注入依赖对象,也能按照类型或者默认名称进行注入,使用起来较为灵活。
    3. @Qualifier:常与@Autowired一起使用。当存在多个相同类型的Bean时,可以用@Qualifier指定具体要注入的Bean的名称,避免注入错误的实例。

    二、Web相关注解(请求处理注解)

    (一)请求映射注解

    1. @RequestMapping:该注解用于将HTTP请求映射到具体的处理方法上,支持GET、POST、PUT、DELETE等多种请求方法。它既可以标注在类上,此时类中的所有响应请求的方法都以该类路径为父路径;也能标注在方法上,直接映射特定的请求。
    2. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping:它们是@RequestMapping的特化注解,分别对应HTTP的GET、POST、PUT、DELETE请求,用于更明确地映射不同类型的请求到相应的处理方法上。
    3. @RequestParam:主要用于处理GET、POST等请求中的查询参数,能将请求参数绑定到Controller方法的参数上。比如,对于example.com/api?param1=value1&param2=value2这样的请求,它可以把param1param2参数的值设置到方法的对应参数中。
    4. @PathVariable:从请求URL路径中提取变量值,并将其绑定到控制器方法的参数上,在RESTful风格的接口开发中经常用到。

    (二)请求体处理注解

    1. @RequestBody:它能够将HTTP请求体的内容(如JSON、XML )转换为Java对象,通常用于接收前端传递的数据,在方法的参数上使用。
    2. @ResponseBody:将方法的返回值转换为指定格式(如JSON、XML ),并作为HTTP响应的内容返回给客户端。它通常和@RequestMapping@GetMapping等注解一起搭配使用在方法上。

    三、配置相关注解

    (一)配置类注解

    1. @Configuration:标记一个类为配置类,在这个类中可以定义各种Bean,实现对项目的相关配置。
    2. @Bean:在配置类中使用@Bean来声明Bean实例,这些实例会交由Spring IOC容器进行管理。

    (二)条件控制注解

    1. @ConditionalOnProperty:根据配置文件中的属性来动态加载Bean,通过这种方式可以灵活地控制Bean的加载,满足不同环境下的配置需求。
    2. @ConditionalOnClass:当类路径中存在指定类时,该注解所标注的配置或Bean才会生效,这在处理一些可选依赖时非常有用。

    (三)属性注入注解

    1. @ConfigurationProperties:用于把配置属性绑定到一个实体类上,方便从配置文件中读取属性值,并绑定到类的字段上,减少手动配置的工作量。
    2. @Value:用于注入属性值,通常从配置文件中获取。使用时标注在字段上,并指定属性值的来源(比如配置文件中的某个属性)。

    四、配置启动注解

    (一)@SpringBootApplication

    这是Spring Boot应用程序的入口类标识注解,它是一个组合注解,包含了@Configuration@EnableAutoConfiguration@ComponentScan三个注解的功能,通过这一个注解就能完成多个关键配置。

    @SpringBootApplication  
    public class Application {  
        public static void main(String[] args) {  
            // 启动Spring Boot应用
            SpringApplication.run(Application.class, args);  
        }  
    }
    

    (二)@EnableAutoConfiguration

    启用Spring Boot的自动配置机制,Spring会根据项目中添加的依赖和配置文件,自动对Spring应用进行配置,极大地简化了配置过程。

    五、其他常用注解

    (一)定时任务注解

    @Scheduled:标注在方法上,用于声明该方法需要定时执行。使用时需要指定定时执行的规则,比如每隔一定时间执行一次,在处理定时任务的场景中非常实用。

    (二)事务管理注解

    @Transactional:标注在类或方法上,用于声明事务管理,并可以指定事务的传播行为、隔离级别等,确保数据操作的一致性和完整性。

    (三)数据校验注解

    @Valid:结合JSR – 303规范,用于校验请求体参数,比如搭配@NotBlank@Email等注解,可以对参数进行非空、邮箱格式等校验。

    (四)全局异常处理注解

    @ControllerAdvice + @ExceptionHandler:通过这种组合方式,可以定义全局统一的异常处理逻辑,方便对项目中出现的异常进行集中处理,提高代码的健壮性和可维护性。

    熟练掌握这些Spring Boot常用注解,能让我们在项目开发过程中更加得心应手,提高开发效率,优化代码结构。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/10476.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号