当前位置: 首页 > news >正文

【Spring Boot 注解】@Configuration与@AutoConfiguration

文章目录

  • @Configuration与@AutoConfiguration
    • 一、@Configuration
    • 二、@AutoConfiguration

@Configuration与@AutoConfiguration

一、@Configuration

这是最常用的 Spring 注解之一,表示当前类是一个 配置类,可以定义 @Bean 方法,等效于传统的 XML 配置文件。

特点:

  • 明确地告诉 Spring 这个类是配置类。
  • 常用于显式配置,由开发者自己创建、引用。
  • @Bean 方法定义的组件会注册到 Spring 容器中。

示例:

@Configuration
public class MyConfig {@Beanpublic MyService myService() {return new MyServiceImpl();}
}

只要MyConfig @SpringBootApplication扫描范围内,那么该Bean就会被加载。

二、@AutoConfiguration

这是 Spring Boot 提供的注解,用于自动配置类。

特点:

  • 由 Spring Boot 自动加载,配合 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 使用。
  • 用于按需加载配置,支持条件注解(如 @ConditionalOnClass, @ConditionalOnProperty 等)。
  • 主要用于自动配置组件,如 Spring Boot 中的 starter 自动装配机制。

示例:

package org.kaishu.framework.swagger;@AutoConfiguration
// 判断是否引入了 OpenAPI 类,否则自动配置不启用
@ConditionalOnClass({OpenAPI.class})
//只有当 springdoc.api-docs.enabled=true 或未配置(默认值)时,这段配置才会启用
@ConditionalOnProperty(prefix = "springdoc.api-docs", name = "enabled", havingValue = "true", matchIfMissing = true)
@EnableConfigurationProperties(SwaggerProperties.class)
public class KaishuSwaggerAutoConfiguration {
...
}

注:
需要在 resource/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中声明此类,Spring Boot 才会自动扫描并导入,不需要添加包路径到@SpringBootApplication扫描范围中。
文件示例:

org.kaishu.framework.swagger.KaishuSwaggerAutoConfiguration

相关文章:

  • 多线程1-进程和线程
  • mapbox基础,加载Fog云雾效果
  • Linux下的c/c++开发之操作mysql数据库
  • GCC编译器安装详细说明(举例arm-2013q3)
  • 神经网络之训练的艺术:反向传播与常见问题解决之道
  • 移动应用开发:自定义 View 处理大量数据的性能与交互优化方案
  • 高等数学第五章---定积分(§5.3定积分的计算方法)
  • 深度解析:2D 写实交互数字人 —— 开启智能交互新时代
  • React 中集成 Ant Design 组件库:提升开发效率与用户体验
  • 深度剖析:可视化如何重塑驾驶舱信息交互模式
  • ES6/ES11知识点 续四
  • Spring Web MVC————入门(1)
  • 二、Hadoop狭义和广义的理解
  • 宏电全新升级单北斗5G电力DTU,为每一公里电力线路注入可靠连接
  • springboot微服务连接nacos超时
  • SMT贴片钢网精密设计与制造要点解析
  • openEuler22.03 环境编译安装 PostgreSQL 15.6 + PostGIS 3.4.1
  • 【计算机网络】TCP/IP四层模型是什么?与OSI七层模型哪些区别?
  • Nginx安全防护与HTTPS部署
  • AI大模型驱动的智能座舱研发体系重构
  • 金融政策支持稳市场稳预期发布会即将召开,潘功胜、李云泽、吴清将出席
  • 商务部新闻发言人就中美经贸高层会谈答记者问
  • 韩正出席庆祝中国欧盟建交50周年招待会并致辞
  • 特朗普要征电影关税惊扰全球电影业,“让好莱坞再次伟大”或现反效果
  • 交通运输部、水利部同日召开会议,深刻汲取贵州游船倾覆事故教训
  • 美权威人士批“特朗普对进口电影征关税”:将杀死美电影产业