在SpringMVC3.1中使用继承

在SpringMVC3.1中使用继承,spring,spring-mvc,Spring,Spring Mvc,研究SpringMVC中继承的使用 有一个其他控制器可以扩展的基本控制器是一个好主意吗 基本控制器将拥有所有控制器共有的功能。例如,获取登录用户的句柄等 如果使用基本控制器不是一个好主意,是否还有其他建议来实现我上面提到的内容。拥有一个其他控制器可以扩展的基本控制器是完全可以接受的。当Spring引入@Controller注释时,它们为您使用所需的任何类层次结构铺平了道路 请注意,作为一种面向对象的设计原则,支持组合而不是继承是很好的。作为经验法则(不是硬性规定),我建议将通用控制器代码移动到一

研究SpringMVC中继承的使用

有一个其他控制器可以扩展的基本控制器是一个好主意吗

基本控制器将拥有所有控制器共有的功能。例如,获取登录用户的句柄等


如果使用基本控制器不是一个好主意,是否还有其他建议来实现我上面提到的内容。

拥有一个其他控制器可以扩展的基本控制器是完全可以接受的。当Spring引入@Controller注释时,它们为您使用所需的任何类层次结构铺平了道路

请注意,作为一种面向对象的设计原则,支持组合而不是继承是很好的。作为经验法则(不是硬性规定),我建议将通用控制器代码移动到一个类中,该类的接口可以通过注入控制器


另一个获得登录用户句柄的建议是多做一点工作,但一旦你有了它,它就非常好了。请参阅此处关于使用的讨论。这就是我在我的项目中所做的,它非常有效谢谢你的输入杰伊。但是如果我在一个类中使用了共同代码的构图,我仍然需要在每个控制器中注入它。我将查看你所共享的链接。如果你想到任何其他的想法,请分享。你必须考虑你的选择,并将设计原则应用到你自己的情况。如果您有很多控制器,那么使用继承可能更有意义。如果您选择继承路线,另一个想法是保持继承的方法为非final,以便您可以在单元测试中重写它(例如,返回模拟用户对象,而不是调用静态安全方法)。这将在不使用依赖注入的情况下简化单元测试。这是否回答了您的问题?