Spring组件扫描无法正常工作?映射的URL返回404

时间:2012-07-08 14:12:40

标签: spring components

我正在创建一个Spring MVC webapp,我喜欢使用控制器等组件的自动发现。

在我的应用程序上下文文件中,我添加了以下标记

<context:component-scan base-package="com.example" />

com.example.springmvc.controller

中存在一个控制器
@Controller
public class AccountController  {

    @RequestMapping("/account.html")
    public ModelMap showAccount() throws Exception {

        ModelMap modelMap = new ModelMap();
        modelMap.addAttribute("someText", "This is an account");

        return modelMap;
    }

    @RequestMapping("/account.html")
    public ModelMap showAccount(@RequestParam("accountId") int accountId) throws Exception     {

        ModelMap modelMap = new ModelMap();
        modelMap.addAttribute("someText", String.format("This is an account with id %d", accountId));

        return modelMap;
    }

}

当我通过访问localhost:8080 / account.html进行测试时,我得到了404,所以我必须忘记一些事情。

当我在我的MVC配置文件中创建自定义映射时,如下所示,而不是它的工作原理。至少,我得到一个关于控制器中的ambigious方法的错误,但这是另一个问题。至少它会找到控制器。

<bean name="/account.html" class="com.example.springmvc.controller.AccountController"/>

我不想在XML中创建映射,我想使用带注释的URL映射。你能告诉我在这里忘了什么吗?

1 个答案:

答案 0 :(得分:3)

要启用基于注释的配置扫描,请将以下内容添加到Spring配置中:

<mvc:annotation-driven />