В документе Spring 3 Контейнер IoC аннотация @Named является стандартным эквивалентом аннотации @Component.
Так как @Repository, @Service и @Controller все @Component, я попытался использовать @Named для всех из них в моем приложении Spring MVC. Он работает нормально. Но я обнаружил, что замена @Controller кажется ошибкой. В классе контроллера изначально это было
@Controller
public class MyController{
...
}
Он отлично работает. Когда я изменил @Controller на @Named
@Named
public class MyController{
...
}
Ошибка с ошибкой:
"Нет сопоставления для HTTP-запроса с URI...".
Но если бы я добавил @RequestMapping в класс, как следует
@Named
@RequestMapping
public class MyController{
...
}
Он работал бы так, как ожидалось.
Для @Repository и @Service я могу просто заменить их на @Named без проблем. Но замена @Controller требует дополнительной работы. Есть ли что-то, что мне не хватает в конфигурации?