.net Core 2.*使用autofac注入
创建项目
1.创建一个.net core 项目
2.创建一个类库
2.1创建interface文件夹
2.2创建Service文件夹
好了给大家看项目目录
对的。我创建了一个IUserService和一个UserService
然后给大家贴一下代码
using System; using System.Collections.Generic; using System.Text;namespace AutofaceTest.Service.Interface {public interface IUserService{string GetUserName();} }
using AutofaceTest.Service.Interface; using System; using System.Collections.Generic; using System.Text;namespace AutofaceTest.Service.Service {public class UserService : IUserService{public string GetUserName(){return "恩很~是我";}} }
添加引用
需要通过nuget添加引用 需要的引用如下
1.Autofac
2.Autofac.Configuration
3.Autofac.Extensions.DependencyInjection
配置startup文件
原来的ConfigureServices
public void ConfigureServices(IServiceCollection services){services.AddMvc();}
修改成这个样子
public IContainer ApplicationContainer { get; private set; }// This method gets called by the runtime. Use this method to add services to the container.public IServiceProvider ConfigureServices(IServiceCollection services){//返回的void 修改为 IServiceProvider 这是为了让第三方Ioc容易接管通道 具体在第几层怎么实现我没有深入研究 services.AddMvc();var builder = new ContainerBuilder();//实例化 AutoFac 容器 builder.Populate(services);//管道寄居builder.RegisterType<AutofaceTest.Service.Service.UserService>().As<Service.Interface.IUserService>();//UserService注入到IUserServiceApplicationContainer = builder.Build();//IUserService UserService 构造return new AutofacServiceProvider(ApplicationContainer);//将autofac反馈到管道中}
在Controller中调用
private IUserService _userService;public HomeController(IUserService userService){_userService = userService;}public IActionResult Index(){ViewBag.Uname = _userService.GetUserName();//这里就可以直接调用啦。return View();}
后记
刚刚创建了一个.net core的群欢迎大家进入:
点击链接加入群聊【.Net Core研究团】:https://jq.qq.com/?_wv=1027&k=5IEolkJ
如果我的文章对您有帮助,希望您可以点个赞。最近打算申请mvp。希望大家帮忙。
转载于:https://www.cnblogs.com/Extnet/p/9687172.html
.net Core 2.*使用autofac注入相关推荐
- 如何在 ASP.Net Core 中使用 Autofac
依赖注入可以有效的实现对象之间的 松耦合 并能够实现代码的可测试和可维护性,ASP.Net Core 提供了一个极简版的容器实现对 依赖注入 的原生支持,然而内置的依赖注入容器相比成熟的 依赖注入容器 ...
- 【半小时大话.net依赖注入】(一)理论基础+实战控制台程序实现AutoFac注入
第一章|理论基础+实战控制台程序实现AutoFac注入 第二章|AutoFac的常见使用套路 第三章|实战Asp.Net Framework Web程序实现AutoFac注入 第四章|实战Asp.Ne ...
- ASP.NET Core 中的依赖注入
什么是依赖注入 软件设计原则中有一个依赖倒置原则(DIP),为了更好的解耦,讲究要依赖于抽象,不要依赖于具体.而控制反转(Ioc)就是这样的原则的其中一个实现思路, 这个思路的其中一种实现方式就是依赖 ...
- 拥抱.NET Core系列:依赖注入(2)
上一篇"拥抱.NET Core系列:依赖注入(1)大体介绍了服务注册.获取和生命周期,这一篇来做一些补充.由于内容跨度大(.NET Core.ASP.NET Core),所以文章并不是非常的 ...
- ASP.NET Core中的依赖注入(4): 构造函数的选择与服务生命周期管理
ServiceProvider最终提供的服务实例都是根据对应的ServiceDescriptor创建的,对于一个具体的ServiceDescriptor对象来说,如果它的ImplementationI ...
- winform防止sqlserver注入_ASP.NET Core 中的 依赖注入介绍
ASP.NET Core 依赖注入 HomeController public class HomeController : Controller { private IStudentReposito ...
- ASP.NET Core Web 应用程序系列(三)- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)...
在上一章中主要和大家分享了在ASP.NET Core中如何使用Autofac替换自带DI进行构造函数的批量依赖注入,本章将和大家继续分享如何使之能够同时支持属性的批量依赖注入. 约定: 1.仓储层接口 ...
- ASP.NET Core Web 应用程序系列(二)- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)...
在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. P ...
- .Net Core 3.0依赖注入替换 Autofac
今天早上,喜庆的更新VS2019,终于3.0正式版了呀~ 有小伙伴问了一句Autofac怎么接入,因为Startup.ConfigureServices不能再把返回值改成IServiceProvide ...
- service 层注入不同的数据源_.NET 理论基础+实战控制台程序实现AutoFac注入
(给DotNet加星标,提升.Net技能) 转自:在7楼 cnblogs.com/RayWang/p/11128554.html 简介 该系列共5篇文章,旨在以实战模式,在.NET下的 控制台程序 F ...
最新文章
- python io流,Python io流会在列表理解中自动关闭吗?
- 多层陶瓷电容器用处_陶瓷电容的作用及特点
- 操作系统原理:中断,异常,系统调用
- elasticsearch 自定义routing
- python交互式命令_从python内部运行交互式命令
- 【信号】信号集、sigprocmask、sigpending
- 计算机节电模式不能打开,电脑进入节电模式打不开怎么办
- java中字符串后加Box_字符串未显示在JavaFX中ComboBox的Tableview上
- Spring Data JPA 必须掌握的 20+ 个查询关键字
- vscode写c++好吗_寒假实习简历你会写吗?四个问题帮你写好寒假实习简历
- const int * pi/int * const pi的区别
- IE8的模式修改优化Windows7
- 河南省邓州市计算机学校,2019年邓州市职业技术学校招生简章及招生专业
- IDEA利用wsdl文件生成WebService调用接口的方法
- NCRE一到四级的刷题软件
- 网络对时服务器(NTP校时服务器)应用港口信息化系统
- 如何打开计算机控制界面,如何打开控制面板
【使用途径】
- 百度网盘web登录页-原生js实现
- C++线程池原理及创建
- LOJ#2833 「JOISC 2018 Day 1」帐篷 dp
热门文章
- console觉醒之路,打印个动画如何?
- 一小时精通SVN版本控制 之五 团队协作开发
- 小型公司 --- OSPF 不连续区域进行通信配置
- eclipse adt开发android ndk没有NDK选项问题的解决方案
- 说说VNode节点(Vue.js实现) 1
- 《Producter:让产品从0到1》一导读
- resizableImageWithCapInsets:方法的探析 (转载笔记)
- Linux系统升级硬盘后HOME分区扩容操作流程
- java:通过Calendar类正确计算两日期之间的间隔
- 用lua实现ByteArray和ByteArrayVarint