Я пытаюсь создать приложение ASP.NET MVC, используя Spring.NET для внедрения зависимостей. Приложение имеет три уровня: Контроллер, Сервис и Данные.
Я определил объекты в файле "~ \ Resources \ objects.xml".
Мой первый объект, UserAccountController, требует внедрения двух классов уровня обслуживания: UserAccountService и DepartmentService. Итак, определение в objects.xml выглядит так:
<object id="UserAccountController" type="App.Controllers.UserAccountController, App">
<constructor-arg index="0" ref="DepartmentService" />
<constructor-arg index="1" ref="UserAccountService" />
</object>
<object id="UserAccountService" type="App.Service.UserAccountService, App">
<property name="UserAccountDao" ref="UserAccountDao" />
</object>
<object id="UserAccountDao" type="App.Data.UserAccountDao, App" />
<object id="DepartmentService" type="App.Service.DepartmentService, App">
<property name="DepartmentDao" ref="DepartmentDao" />
</object>
<object id="DepartmentDao" type="App.Data.DepartmentDao" />
Webconfig содержит это:
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="~/Resources/objects.xml" />
</context>
</spring>
Я бы предпочел использовать внедрение свойств, а не конструктор, но в настоящее время ни один из методов не работает.