Мне поручено обновить старый проект, который я не писал.Обновление Spring xml настроенного контроллера для аннотаций
Проект основан на Spring MVC и имеет более раннюю конфигурацию Spring Controller, с которой я не знаком.
Контроллеры имеют конфигурации боба следующим
<bean id="controllerName" class="the.project.controller.class">
<property name"serviceName">
<ref bean="serviceName">
</property>
<property name"successView">
<value>viewName</value>
</property>
</bean>
где SERVICENAME относится к классу с аннотацией @Service
следующим
@Service(value=serviceName)
Является ли это правильным для замены конфигурации XML?
@Autowired
@Qualifier("serviceName")
ServiceNameImpl serviceName
благодаря
редактировать здесь является организация класса SERVICENAME и интерфейс
public interface ServiceName {
// methods omitted
}
@Service(value="serviceName")
public class ServiceNameImpl implments ServiceName {
//methods omitted
}
аннотаций @Resource не доступен для меня (Spring 3.0.7) и Autowire, как выше не (как представляется, этот тип не соответствует ожидаемому, как описано ниже)
org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching beans of type [the.project.ServiceNameImpl] found for dependency
Учитывая изменения, что я делаю неправильно здесь (извинения за отказ от этой информации)?
в конце концов, мне нужно, чтобы иметь возможность получить доступ к методам интерфейса и его реализация
, например
serviceName.doSomething(someVar);
Tomasz Я, похоже, оставил важную информацию. Если у вас есть момент, вы можете изучить и обновить свой ответ? Огромное спасибо . Цель здесь - устранить как можно больше xml-конфигурации, и это последняя. – stimpy
@stimpy: Поле mus должно быть типа 'ServiceName':' ServiceName serviceName'. BTW с Spring 3.1 вы можете обойтись без XML вообще! –
Я уточнил вопрос более подробно. Извинения за дополнительные круги. – stimpy