使用Autofac.Annotation组件像JavaSpring注解一样装配实现
18
2021-02-24
虽然.NetCore内置了DI容器,但是相信很多人还是习惯使用Autofac来替代内置容器。因为内置容器不支持属性注入、不支持自定义生存期管理、不支持基于名称的注入等。
那么针对Autofac,有一个很好用的第三方插件,Autofac.Annotation,可以通过特性,直接完成装配实现,非常的方便快捷。
开源地址:https://github.com/yuzd/Autofac.Annotation
1. 使用方式也很简单,这里推荐我喜欢用的一种dll注册方式
var autofacAnnoMe = new AutofacAnnotationModule(assemblyList.ToArray());
autofacAnnoMe.SetAllowCircularDependencies(true); //允许循环引用
builder.RegisterModule(autofacAnnoMe);
2. 实现类打上标签(可以使用Key标识不同对接口的实现)
[Component]
public class UserService : IUserService
{
//do somethings
}
3. 使用
[Autowired]
public IUserService _userService { get; set; }
4. 非常简单,非常实用。更多内容可以看作者github的wiki
- 0
- 0
-
分享