Skip to main content

injection/
lib.rs

1// 组件模块:定义 Component trait 和 Configure trait
2pub mod component;
3/// 配置模块:提供全局配置加载和管理功能
4#[cfg(feature = "config")]
5pub mod config;
6/// 容器模块:实现依赖注入容器的核心功能
7pub mod container;
8/// 定义模块:定义 Bean 和 BeanDefinition 等核心数据结构
9pub mod definition;
10// pub mod router;
11/// 工具模块:提供 JSON 合并等辅助功能
12mod utils;
13
14/// 导出 Component trait,用于标记可被注入的组件
15pub use crate::component::Component;
16/// 导出 Configure trait,用于标记可序列化的配置结构体
17#[cfg(feature = "config")]
18pub use crate::component::Configure;
19/// 导出注入容器,提供依赖获取和容器管理功能
20pub use crate::container::InjectionContainer;
21/// 导出 inventory 宏,用于收集 Bean 定义
22pub use inventory::*;
23/// 导出所有宏定义(Component、Service、configuration、init)
24pub use injection_macros::*;