ModuleRef模块与依赖注入
可见性、导入导出、scope、异步 factory 和生命周期都进入类型化容器。
#[controller("/users")]
impl UserController {
#[get("/{id}")]
async fn find(#[param("id")] id: Uuid) {}
}默认包含 Axum、属性宏和优雅停机。其他模块全部通过 feature 显式启用。
a3s-boot = "0.1.4"Boot 借鉴 NestJS 的组织方式,但不会隐藏依赖图、协议适配器或错误类型。
ModuleRef可见性、导入导出、scope、异步 factory 和生命周期都进入类型化容器。
#[controller]普通 Rust 类型通过属性生成注册,同时保留显式 builder API。
ExecutionContextMiddleware、Guard、Interceptor、Pipe、验证和 Filter 有固定顺序。
MessageTransportHTTP、WebSocket 与消息传输共享 scope、验证和增强器语义。
每个阶段都能被测试、检查和替换。
模块列出 Provider、Controller、Gateway 与导入
验证 token、可见性、scope 与路由冲突
按 singleton、request 或 transient 构造依赖
由 Axum 或消息 transport 接管网络边界
配置、日志、缓存、数据库、会话、安全、CQRS、事件、调度、健康与文件能力按需组合。
HTTP、WebSocket、TCP、Redis、NATS、MQTT、RabbitMQ、Kafka、gRPC、队列与 iLink 使用明确契约。
先运行默认 Axum 应用,再按业务边界启用模块与协议。