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

💎总结

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


相关推荐
时光不老杰1 分钟前
01 总体架构与模块边界
后端
贾公子5 分钟前
从单条内容到账号维度——AIGC 风险评分的工程实现
后端·python
aiks_yuan7 分钟前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
一条泥憨鱼34 分钟前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
从琳开始9891 小时前
网络原理入门(二)------OSI七层模型?TCP/IP五层(四层)模型原来是这样的
java·网络·tcp/ip·java-ee·php
文丑颜不良啊1 小时前
LeetCode1861~1880题目解析
java·leetcode
Flynn Liang1 小时前
AgentScope Java 深度解析:ReActAgent、HarnessAgent 与多智能体编排——JVM 上的自治 Agent 底座
java·大模型·架构设计·ai agent·spring ai·langchain4j·agentscope
Flynn Liang2 小时前
上线后怎么排查 AI 调用?Spring AI Observability:token/延迟/成本埋点与全链路追踪
java·人工智能·spring·监控·可观测性·observability·springai
文丑颜不良啊2 小时前
LeetCode1921~1940题目解析
java·leetcode
孟陬2 小时前
Foobar 技术周刊#160:大模型让大规模形式化软件验证成为现实丨AI写C++代码之后会发生什么?丨我们真的需要alpha() 函数吗丨重试,有时会让故障更
前端·后端·typescript