SpringBoot常用注解

与其明天开始,不如现在行动!

文章目录


SpringBoot常用注解

SpringBoot摒弃了XML配置方式,改为全注解驱动

1 组件注册

  1. @Configuration:配置类,声明该类是定义Bean的地方,取代之前的XML配置文件
  2. @SpringBootConfiguration:配置类,SpringBoot特有的(Springboot项目推荐使用)
  3. @Bean:给容器中放入组件,组件名字默认是方法名,替代之前的Bean标签
  4. @Import:给容器中放入指定类型组件(比如第三方的类),组件名字默认是全类名
  5. @Scope:可以修改组件变为不是单例
  6. @Controller:控制层注解,用来处理用户请求和返回相应视图
  7. @Service:业务处理层注解
  8. @Repository:数据访问层注解
  9. @Component:标识一个类为Spring组件
  10. @ComponentScan:@ComponentScan(basePackages = "com.example")指示Spring框架扫描com.example包及其子包下的组件

步骤:

  1. @Configuration编写一个配置类
  2. 在配置类中,自定义方法给容器中注册组件,配合@Baen
  3. 或使用@Import导入第三方的组件

2 条件注解

如果注解指定的条件成立,则触发指定行为:@ConditionOnXxx

  1. @ConditionOnClass:如果类路径中存在这个类,则触发指定行为
  2. @ConditionOnMissingClass:如果类路径中不存在这个类,则触发指定行为
  3. @ConditionOnBean:如果类路径中存在这个Bean(组件),则触发指定行为
  4. @ConditionOnMissingBean:如果类路径中不存在这个Bean(组件),则触发指定行为

可以放在类上也可以放在方法上

3 属性绑定

将容器中任意组件(Bean)的属性值配置文件 的配置项的值进行绑定

  1. @ConfigurationProperties:声明组件的属性和配置文件哪些前缀开始的项进行绑定
  2. @EnableConfigurationProperties:快速注册组件
    • 场景:用于导入第三方的类,因为别人的包没有@Component声明组件。
    • SpringBoot默认值扫描自己主程序所在的包。如果导入第三方包,即使组件上标注了@Componen和@ConfigurationProperties也扫描不到。因为组件都扫描不进来。

步骤:

  1. 给容器中注册组件
  2. 使用@ConfigurationProperties声明组件和配置文件的哪些配置项进行绑定

💎总结

本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!


相关推荐
智慧物业老杨4 分钟前
智慧物业数智化转型实战:从工单响应到业主满意度的闭环构建
java·开发语言
Kiling_07046 分钟前
Java集合框架:List集合详解与应用
java·开发语言·windows
DeepNoMind17 分钟前
从入门到 Offer:系统设计面试的完整备考路线
后端
极客先躯23 分钟前
高级java每日一道面试题-2025年12月08日-实战篇[Docker]-如何为 Docker 配置代理?如何为容器配置代理?
java·docker·代理配置的双层架构·docker 守护进程配置代理·为容器配置代理·构建时环境变量·运行时注入环境变量
xun-ming26 分钟前
SpringBoot和Vue3实战阿里百炼大模型极简版
spring boot·ai·vue3·智能体·百炼大模型
csdn2015_30 分钟前
java springboot 文件导入,判断第一列的值是否有重复
java·windows·spring boot
~|Bernard|44 分钟前
四,go语言中GMP调度模型
java·前端·golang
Tisfy1 小时前
LeetCode 2553.分割数组中数字的数位:模拟(maybe+翻转)——java也O(1)
java·数学·算法·leetcode·题解·模拟·取模
阿丰资源1 小时前
基于Springboot+mysql的在线兼职平台(附源码)
spring boot·后端·mysql
怪祝浙1 小时前
从简单项目入手Java(学生系统)V6(Web版本 Spring Boot3 MySQL Vue3 MyBatis)
java·spring boot·mysql