API 参考
使用指南-自动配置架构
自动配置架构说明。
自动配置架构
统一自动配置模块
所有基础设施模块的自动配置类都集中管理在 nebula-autoconfigure 模块中,带来以下优势:
核心优势
- 集中式配置管理
- 所有自动配置类集中在一个模块中
- 更清晰的依赖关系和初始化顺序
-
避免了模块间的循环依赖问题
-
更好的开发体验
- 应用只需引入
nebula-autoconfigure依赖 - 零配置启动,按需自动加载功能模块
-
明确的配置顺序和依赖关系
-
架构解耦
- 基础模块专注于核心功能实现
- 配置逻辑分离到独立模块
- 易于扩展和维护
自动配置初始化顺序
flowchart TD
A[NacosDiscoveryAutoConfiguration<br/>服务发现] --> B[HttpRpcAutoConfiguration<br/>HTTP RPC]
A --> C[GrpcRpcAutoConfiguration<br/>gRPC]
B --> D[RpcDiscoveryAutoConfiguration<br/>RPC+Discovery集成]
C --> D
D --> E[应用层服务]
E --> F[DataPersistenceAutoConfiguration<br/>数据持久化]
E --> G[CacheAutoConfiguration<br/>缓存]
E --> H[RabbitMQAutoConfiguration<br/>消息队列]
E --> I[ElasticsearchAutoConfiguration<br/>搜索引擎]
E --> J[StorageAutoConfiguration<br/>对象存储]
E --> K[AIAutoConfiguration<br/>AI服务]
E --> L[CrawlerAutoConfiguration<br/>爬虫服务]
L --> L1[HttpCrawlerAutoConfiguration]
L --> L2[BrowserCrawlerAutoConfiguration]
L --> L3[ProxyCrawlerAutoConfiguration]
L --> L4[CaptchaCrawlerAutoConfiguration]
快速开始
1. 添加自动配置依赖
<!-- 统一自动配置模块 -->
<dependency>
<groupId>io.nebula</groupId>
<artifactId>nebula-autoconfigure</artifactId>
<version>2.0.1-SNAPSHOT</version>
</dependency>
<!-- 按需添加功能模块 -->
<dependency>
<groupId>io.nebula</groupId>
<artifactId>nebula-discovery-nacos</artifactId>
</dependency>
<dependency>
<groupId>io.nebula</groupId>
<artifactId>nebula-rpc-http</artifactId>
</dependency>
<dependency>
<groupId>io.nebula</groupId>
<artifactId>nebula-data-persistence</artifactId>
</dependency>
<!-- 其他模块... -->
2. 配置应用
spring:
application:
name: my-nebula-app
nebula:
# 服务发现配置
discovery:
nacos:
enabled: true
server-addr: localhost:8848
namespace: dev
# RPC 配置
rpc:
http:
enabled: true
discovery:
enabled: true
# 数据访问配置
data:
persistence:
enabled: true
cache:
enabled: true
3. 启动应用
所有配置的功能模块将自动初始化并可用,无需手动配置