.net Core WebApi使用AutoFac
2024-09-22 09:16:00
1.在要添加的项目中选中 依赖项->右键->管理NuGet程序包(N)
2.在NuGet包管理器中输入Autofac,安装选中文件
3.在项目中找到Program.cs文件,添加如下代码
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
// 添加依赖注入
.UseServiceProviderFactory(new AutofacServiceProviderFactory());
4.在项目中找到Startup.cs文件,添加如下代码
/// <summary>
/// 依赖注入配置容器
/// </summary>
/// <param name="builder"></param>
public void ConfigureContainer(ContainerBuilder builder)
{
////单个服务注入
//builder.RegisterType<OrderService>().As<IOrderService>(); // 获取 Service.dll 程序集服务,并注册
var assemblysService = Assembly.LoadFrom(Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.Service.dll"));
// 获取 IService.dll 程序集服务,并注册
var assemblysIService = Assembly.LoadFrom(Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.IService.dll"));
builder.RegisterAssemblyTypes(assemblysService)
.AsImplementedInterfaces()
.InstancePerDependency().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);
builder.RegisterAssemblyTypes(assemblysIService)
.AsImplementedInterfaces()
.InstancePerDependency().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);
}
5.添加好依赖注入,就可以直接在项目中使用
private readonly ISysRoleServices _sysRoleServices;
public SysRoleController(ISysRoleServices sysRoleServices)
{
_sysRoleServices = sysRoleServices;
}
最新文章
- Hibernate 系列 08 - 对象识别机制
- 查看eclipse web项目中jsp编译后的servlet源文件【转】【JSP】
- 容器化redis高可用方案
- (五)SQL入门 数据库查询
- asp.net中的ListBox控件添加双击事件
- IOS Socket 04-利用框架CocoaAsyncSocket实现客户端/服务器端
- linux利用grep查看打印匹配的下几行或前后几行的命令
- Maven初学
- UI学习笔记---第四天
- Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA 解决方案
- Android Retrofit实现原理分析
- WinSetupFromUSB 使用教程
- Video Cards
- 计算机协议、标准以及OSI模型的简单介绍
- swoole websocket服务推送
- Spring的IOC注解开发入门2
- Confluence 6 log4j 日志级别
- linux命令学习之:rm
- vijos p1882 智力题
- SpinBlur - 旋转模糊