依赖注入主要是通过让各个模块互相不依赖 使各个模块依赖于抽象(接口)从而降低系统的耦合性
依赖注入方式 分为三种 构造器注入(Constructor Injection)、属性注入(Property Injection),以及方法调用注入(Method Call Injection)
引用:
创建空接口 方便自动查找接口
public interface IDependency
{
}
接口继承
public interface IAdminService: IDependency
{
Admin Get(Expression<Func<Admin, bool>> expr);
}
实现
public class AdminService : CoreServiceBase, IAdminService
{
public Admin Get(Expression<Func<Admin, bool>> expr)
{
var entity = authenContext.Get(expr);
if (entity == null)
{
return null;
}
return entity;
}
}
创建空Controller 方便自动查找要注入的Controller
public class BaseController : Controller
{
// GET: Admin
protected ActionResult Show(OperationResult result)
{
return Json(result, JsonRequestBehavior.AllowGet);
}
}
代码
using Autofac;
using Autofac.Integration.Mvc;
using IService;
using IService.Authen;
using Root.Extension.Common;
using Service.Authen;
using System;
using