Published:

Dependency Injection in 1 line with MVC3 and Ninject

Dependency injection is a must have in any well designed, loosely coupled system. And is absolutely necessary if you plan (and you should!) to use unit testing and TDD.

Up until recently, it was quite fiddly to add DI to a project. It involved downloading 3rd party libraries, modifying config files, and writing code to map each interface to it's concrete implementation.

But now with the help of the NuGet and the Ninject extensions Ninject.MVC3 and Ninject.Extensions.Conventions, you can get dependency injection up and running with just 1 line of code!

This is how to do it:

  1. Install the NuGet packages Ninject.MVC3 and Ninject.Extensions.Conventions to your MVC3 project
  2. Open the NinjectWebCommon class located in the App_Start folder (this was added by the Ninject.MVC3 package)
  3. Add "using Ninject.Extensions.Conventions;" to the using statements at the top of the class
  4. Add the following line of code to the RegisterServices method:
kernel.Bind(x => x
    .FromAssembliesMatching("*")
    .SelectAllClasses()
    .BindDefaultInterface());

 


Subscribe or Follow Me For Updates

Subscribe to my YouTube channel or follow me on Twitter, Facebook or GitHub to be notified when I post new content.

Other than coding...

I'm currently attempting to travel around Australia by motorcycle with my wife Tina on a pair of Royal Enfield Himalayans. You can follow our adventures on YouTube, Instagram and Facebook.


Need Some ASP.NET Help?

Search fiverr to find help quickly from experienced ASP.NET developers.



Supported by