根据 Spring 3 文档IoC 容器,@Named注解是等同于@Component注解的标准。
由于@Repository,@Service和@Controllerare all @Component,我尝试@Named在我的 Spring MVC 应用程序中使用它们。它工作正常。但我发现替换的@Controller似乎有一个错误。在控制器类中,最初是
@Controller
public class MyController{
...
}
它工作正常。当我@Controller改为@Named
@Named
public class MyController{
...
}
它失败并出现错误:
“没有为带有 URI ... 的 HTTP 请求找到映射”。
但是,如果我@RequestMapping按以下方式添加到课程中
@Named
@RequestMapping
public class MyController{
...
}
它会按预期工作。
对于@Repositoryand @Service,我可以简单地将它们替换@Named为没有问题。但更换@Controller需要额外的工作。我在配置中缺少什么吗?