当前位置: 首页 > 知识库问答 >
问题:

Spring启动。映射2个独立的项目控制器,忽略一个项目

耿学义
2023-03-14

我有一个spring-boot应用程序,它加载其他两个项目的配置,如下所示:

应用程序注释:@ImportResource(“路径/到/xml/配置.xml”)

它映射到config.xml包含:

<import resource="classpath:path/to/project1/config.xml"/>
<import resource="classpath:path/to/project2/config.xml"/>

这些配置。xml分别包含以下行:

<context:component-scan base-package="my.project1.package" />
<context:component-scan base-package="my.project2.package" />

在这些软件包中,我有一个控制器:

项目1控制者

package my.project1.package;

@RestController
@RequestMapping("/project1")
@SessionAttributes("batchNumber")
public class Project1Controller { 
    @RequestMapping(value="/sample", method = RequestMethod.GET)
    public String sampleMethod() {
        return "hi";
    }
}

和项目2控制者:

package my.project2.package;

@RestController
@RequestMapping("/project2")
@SessionAttributes("batchNumber")
public class Project2Controller { 
    @RequestMapping(value="/sample", method = RequestMethod.GET)
    public String sampleMethod() {
        return "hi2";
    }
}

是的,方法名称和它们的映射需要相同,只是类的RequestMapping不同。

当我使用Spring启动启动应用程序时。

我得到了<code>Mapped[/project1/sample]</code>行,这行工作正常,但是<code>/project2/sample</code>永远不会被映射。

是否有可能的原因导致这些控制器未被映射/扫描?

共有1个答案

长孙哲
2023-03-14

正如在上面的评论中

上下文扫描中列出了错误的包

 类似资料:
  • 我有一个关于spring websockets的问题,上面有STOMP协议。我将websockets用于不同的应用程序,但不是与spring的结合。 我有一个客户机服务器应用程序,它持有多个到服务器的websockets连接。现在我可以创建一个客户端应用程序,它连接到spring的Websocket(使用STOMP)。同样,我可以将一个websocket映射到spring的多个控制器吗?每个控制器

  • 使用 vue-cli 建议使用脚手架项目vue-loader 与 vue-cli: npm install -g vue-cli vue init webpack-simple hello-vue cd hello-vue npm install npm run dev # ready to go!

  • 尽管Java 插件在你的项目里加入了许多任务,只有几个会在项目构建中经常用到。 最常用的任务是 build 任务, 用于完全构建你的项目.运行 gradle build 命令执行后,Gradle 将会编译和测试你的代码,并生成一个包含所有类与资源的 JAR 文件: 例子 7.2. 建立一个 Java 项目 gradle build 命令的输出: > gradle build :compileJav

  • 我试图在我的Spring应用程序中实现API版本控制。 所以我想做这样的事情api_url/{版本}/{参数} 假设我已经更改了一个endpoint函数,那么我可以将新函数映射到新版本的新url。但是我希望其他未更改的函数映射到两个版本的url,比如API _ URL/{旧版本}/{旧参数}和API _ URL/{新版本}/{旧参数} 因此,如果我能够实现这样的东西,它将帮助我避免在Java类中重

  • 按Alt+Shift+X,R 弹出对话框, 或者 右键项目--Run as--Run on Server 然后按Finish,开始启动, Windows下第一次启动会提示各种授权,全部勾上,yes啦 第一次启动会提示404页面,及没有匹配到任何方法,那是肯定的,呵呵 可能遇到的问题 提示某某类找不到, 一般是web.xml里面的NutFilter类名或MainModule类名写错,比较罕见的是ja

  • 1. 前言 很多同学,学了很久的 Spring ,也用了很久的 Spring ,却还是不知道 Spring 是什么?Spring 中 XML / 注解 / Java 类三种配置方式,有什么区别和联系。 上面两个问题,正是理解 Spring Boot 的关键! Spring 本质上是一个容器,里面存放的是 Java 对象,放入容器的 Java 对象被称为 Spring 组件(Bean)。 而 XML