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声明组件和配置文件的哪些配置项进行绑定

💎总结

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


相关推荐
2601_953988078 小时前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·后端·物联网·tcp/ip·数学建模·前端框架
chuan.bai9 小时前
Java RAG 实战(第 8 篇):Spring Boot RAG 查询 API
java·spring boot·贪心算法
FlyWIHTSKY9 小时前
idea中集成claude功能
java·ide·人工智能·intellij-idea·cloudera
IT_陈寒9 小时前
SpringBoot自动配置坑了我三天,原来漏了这个注解
前端·人工智能·后端
Java成神之路-9 小时前
Spring AI 统一结构化返回:ChatModel / ChatClient 两种实现方式
java·springaialibaba
Mr. zhihao9 小时前
深度解析:为什么Java序列化需要搭配ByteArrayOutputStream?IO装饰器模式的精妙设计
java·开发语言·装饰器模式
存在morning9 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang
vx-程序开发9 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
AINative软件工程9 小时前
模型路由别写死在代码里:Policy-as-Code 才是 LLM 成本和质量的刹车片
后端
艾莉丝努力练剑9 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试