spring注入mvc控制器上的属性

时间:2013-01-04 01:16:45

标签: asp.net-mvc dependency-injection inversion-of-control spring.net

我正在使用mvc4 web应用程序并使用spring.net v2 M2进行依赖注入。

我想知道可以注入我的控制器,过滤器/属性到控制器上吗?

1 个答案:

答案 0 :(得分:1)

Asp.Net MVC3 相同:注册一个自定义弹簧识别FilterAttributeFilterProviderSpringMvcApplication而不是HttpApplication派生你的应用程序,看看神奇的工作。示例impl。生产准备就绪:

public class FilterProvider : FilterAttributeFilterProvider, IApplicationContextAware
{
    public IApplicationContext ApplicationContext
    {
        set;
        get;
    }

    public override IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
    {
        var filters = base.GetFilters(controllerContext, actionDescriptor);
        foreach (var filter in filters)
        {
            ApplicationContext.ConfigureObject(filter.Instance, filter.Instance.GetType().Name);
            yield return filter;
        }
    }
}