#di #dependency-injection #anthill #anthill-di

anthill-di-derive

anthill-di的派生扩展

2个稳定版本

1.2.4 2022年6月26日
1.2.3 2022年5月4日
0.1.0 2022年5月3日

#60 in #dependency-injection


用于 3 crates

MIT许可证

15KB
273

anthill-di-derive

anthill-di 派生扩展

基本概念

在结构体顶部添加 #[derive(constructor)]

#[derive(constructor)]
struct TestInjection {}

注册依赖

#[derive(constructor)]
struct TestInjection1 {
    // simple resolve call (can be omitted)
    #[resolve] TestInjection2
    
    // resolve custom data
    #[custom_resolve(value = "\"test3\".to_string()")] str: String,

    // save context
    #[ioc_context] di_context: anthill_di::DependencyContext,

    // resolve collection of service
    #[resolve_collection] collection: Vec<Box<dyn GetStr>>,

    // resolve service by component type
    #[resolve_by_component(TestInjection3)] second: Box<dyn GetStr>,
}

Crate版本等于anthill-di的最小所需版本

Crate所需依赖

依赖

~1.5MB
~35K SLoC