AutoFac学习(一)

12 篇文章 1 订阅

控制反转(IOC)依赖注入(DI)一直没怎么使用过,最近觉得学习下,AutoFac应该是其中性能比较好的一款IOC容器了。

所以觉得学习下AutoFac的使用

1.AutoFac的基本使用

创建一个MVC项目,通过Nuget直接添加Autofac。

例子:

定义一接口

    public interface Itest
    {
        string msg();
    }

实现此接口

方法a

    public class testa :  Itest
    {

        public testa()
        {
        }

        public string msg()
        {
            return "a";
        }


    }

方法b

public class testb :  Itest
    {

        public testb()
        {
        }

        public string msg()
        {
            return "b";
        }


    }
在Global.asax中加入依赖注入的注册代码

ContainerBuilder builder = new ContainerBuilder();创建autofac管理注册类的容器实例  
            builder.RegisterControllers(Assembly.GetExecutingAssembly());//使用Autofac提供的RegisterControllers扩展方法来对程序集中所有的Controller一次性的完成注册  
            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).AsImplementedInterfaces();//注册所有类  
            builder.RegisterControllers(Assembly.GetExecutingAssembly()).PropertiesAutowired();//注册属性注入  
//注册Itest  
builder.RegisterType<testa>().As<Itest>().AsImplementedInterfaces()  
;                .PropertiesAutowired().InstancePerLifetimeScope();  
var container = builder.Build();  
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));//下面就是使用MVC的扩展 更改了MVC中的注入方式  


实现 通过属性注入的方式


public class HomeController : Controller  
{  
public Itest test{ get; set; }  
public ActionResult Index()  
        {  
string str = test.msg();  
return view()  
}  
}  




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值