在Spring 3中,是否可以使用带注释控制器的继承?

时间:2011-06-14 10:38:40

标签: spring inheritance spring-mvc annotations

特别是,这可能吗?

我的基本控制器:

@Controller
public class BaseController {

    @ModelAttribute("user")
    public User getUser(@PathVariable String id) {

         // return User to any models in the child class

    }
}

儿童控制器一:

@Controller
public class ChildOneController extends BaseController {

    @RequestMapping(value="/user/id/{id}/view", method=RequestMethod.GET)
    public ModelAndView updateUserHandler(Model model, @PathVariable String id) {

         // Does my model have access to the "user"?

    }
}

儿童控制器二:

@Controller
public class ChildTwoController extends BaseController {

    @RequestMapping(value="/user/profile/id/{id}/view", method=RequestMethod.GET)
    public ModelAndView updateUserHandler(Model model, @PathVariable String id) {

         // Does my model have access to the "user"?

    }
}

在这种情况下,我只是尝试从模型属性中共享用户,但我还想了解以下内容:

  • 我可以在子控制器中提供请求映射,但是行为是否存在于我的基本控制器中的方法中?
  • 在我的基本控制器中有一个@InitBinder,它将为子控制器提供绑定,就像它们自己初始化一样?

我找不到任何能够深入解决继承问题的好参考文献。我记得在Spring 2.5中看到有关扩展AbstractController的内容,但我相信这是在引入注释之前。

0 个答案:

没有答案