В документе 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
требует дополнительной работы. Есть ли что-то, что мне не хватает в конфигурации?