假定两个Controller都在同一个工程中。
如果有比较合理的分层设计,这样的需求应该是非常罕见的。因为大部分情况下,调用应该都是限于对业务逻辑层或者数据库层,并不会涉及Controller之间的调用。
本文是讨论Controller A必须调用Controller B的情况。
Controller A可以返回redirect和forward指令来进行跳转到Controller A,但这不属于本文讨论的场景。
显然不应该通过直接创建Controller B的实例,再调用方法来完成。因为Controller B的实例中,Spring Boot为其进行配置和对象注入,这些准备工作不是简单通过实例化Controller B可以完成。
1