我有一个 spring boot 应用程序,它加载了 2 个其他项目的配置,如下所示:
应用注解:@ImportResource("path/to/xml/config.xml")
它映射到 config.xml 包含:
<import resource="classpath:path/to/project1/config.xml"/>
<import resource="classpath:path/to/project2/config.xml"/>
这些 config.xml 分别包含以下几行:
<context:component-scan base-package="my.project1.package" />
<context:component-scan base-package="my.project2.package" />
在这些包中我有一个 Controller :
项目 1 Controller
package my.project1.package;
@RestController
@RequestMapping("/project1")
@SessionAttributes("batchNumber")
public class Project1Controller {
@RequestMapping(value="/sample", method = RequestMethod.GET)
public String sampleMethod() {
return "hi";
}
}
和项目 2 Controller :
package my.project2.package;
@RestController
@RequestMapping("/project2")
@SessionAttributes("batchNumber")
public class Project2Controller {
@RequestMapping(value="/sample", method = RequestMethod.GET)
public String sampleMethod() {
return "hi2";
}
}
是的,方法名和它们的映射需要相同,只是类的 ReqeustMapping 不同。
当我使用 Spring Boot 启动我的应用程序时。
我得到了 Mapped [/project1/sample]
行,它工作正常,但是 /project2/sample
从未被映射。
这些 Controller 没有被映射/扫描是否有可能的原因?
最佳答案
如上评论
在上下文扫描中列出了错误的包
关于java - Spring Boot 。映射 2 个独立的项目 Controller 而忽略一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26529912/