当前位置:美高梅游戏 > 高考工厂模拟器 > 常见的依赖注入工具

常见的依赖注入工具

文章作者:高考工厂模拟器 上传时间:2019-09-05

依傍注入(调控反转)
布满的依附注入工具:AutoFac,Spring.Net,Unity等
依赖注入的措施:1.由此构造函数举行注入2.由此品质进行注入

小心:在档期的顺序中AutoFac的注入有两遍,第4回是将数据访问层的类注入到业务逻辑层。第3回是将业务逻辑层的类注入到UI层。

AutoFac在MVC的使用

我在APP_Start文件夹中新建了八个类命名称叫AutoFacConfig

概念四个静态的无再次回到的格局

常见的依赖注入工具。public static void Register()

{

  

//1.0 创设三个autofac的器皿对象
            var bulider = new ContainerBuilder();
            //1.0.1 获取程序集载入到Assembly对象中
            Assembly controllerDll = Assembly.Load("Study.CRM.Site");
            //1.0.1 告诉autofac对象未来实例化的调控器所存在的主次集是Study.CRM.Site.dll
            bulider.RegisterControllers(controllerDll);

            #region 2.0 仓库储存的注册
常见的依赖注入工具。            //2.0 利用bulider对象开头创办仓储的落到实处类与相应的蕴藏接口的呼应关系
            //注意:假诺加了InstancePerHttpRequest() 每回都以的新的实体实行注入操作

常见的依赖注入工具。            //注册单个仓储来到其相应的接口
            //bulider.RegisterType(typeof(sysFunctionRepository)).As(typeof(IsysFunctionRepository)).InstancePerHttpRequest();

            //注册程序中颇具的类到其促成接口
            Assembly repositoryAss = Assembly.Load("Study.CRM.Repository");
            bulider.RegisterTypes(repositoryAss.GetTypes()).AsImplementedInterfaces();

            #endregion

            #region 3.0 业务逻辑层的注册
            //3.0 利用bulider对象开始创建工作逻辑完成类与相应的事务逻辑接口的对象关联
            //单个注册业务逻辑类到其相应的接口
            //bulider.RegisterType(typeof(sysFunctionServices)).As(typeof(IsysFunctionServices)).InstancePerHttpRequest();

            //注册业务逻辑程序中的全部类到其促成的接口(AsImplementedInterfaces() 此方法:正是用来机关转成接口的)
            Assembly servicesAss = Assembly.Load("Study.CRM.Services");
            bulider.RegisterTypes(servicesAss.GetTypes()).AsImplementedInterfaces();

            //注册当前前后相继中项目名称的前缀为sysFunction 的所对应类的实例
            //bulider.RegisterTypes(servicesAss.GetTypes().Where(c => c.Name.StartsWith("sysFunction")).ToArray()).AsImplementedInterfaces();

            #endregion

            //4.0 告诉MVC框架现在怀有调整器的对象的创立专业交给autofac.dll中的调节器工厂来成功
            //特点:会动用调节器中的有参数构造函数创设其目的,同期在创造的进度中,会依照构造函数中的
            //接口参数,将此接口的现实贯彻类的目申明入
            //4.0.1  依照现已登记好的创设成立此容器对象中有着的映照关系的现实性完毕
            var container = bulider.Build();
            // 4.0.2 将MVC的调整器对象实例 交由autofac来成立
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

}

 

在global文件中进行登记

 public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            //注册区域路由法规
            AreaRegistration.RegisterAllAreas();
            //注册全局过滤器
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            //注册网址路由
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            //优化js,css文件
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //利用AutoFac完结项目标IOC和DI
            AutoFacConfig.Register();
        }
    }

 

本文由美高梅游戏发布于高考工厂模拟器,转载请注明出处:常见的依赖注入工具

关键词: