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.
This is how to do it:
- Install the NuGet packages Ninject.MVC3 and Ninject.Extensions.Conventions to your MVC3 project
- Open the NinjectWebCommon class located in the App_Start folder (this was added by the Ninject.MVC3 package)
- Add "using Ninject.Extensions.Conventions;" to the using statements at the top of the class
- Add the following line of code to the RegisterServices method:
kernel.Bind(x => x .FromAssembliesMatching("*") .SelectAllClasses() .BindDefaultInterface());
Need Some ASP.NET Help?
Search fiverr to find help quickly from experienced ASP.NET developers.
Exclusive Semrush Special Offer
FREE 14-day PRO trial to Semrush is available to visitors of this blog. Check your website health quickly and easily with the Semrush all-in-one site auditing tool, eliminate technical SEO issues and optimize your website's speed and performance.