繁体   English   中英

如何在 Spring 中使用来自不同包的 rest 控制器?

[英]How can I use a rest controller from a different package in Spring?

这是怎么回事

我正在使用 Java,Springboot 我正在尝试创建一个简单的 API。

我有一个名为Example的包。 我有两个名为configrest子包。

在 config 是类Application ,这是我的 spring 应用程序。 在休息中是类TheController这是休息控制器

目前,当我运行应用程序、 Application并尝试转到其中一个获取映射时,我得到一个白标错误页面。

但是,如果我将theController移动到config包中,我不会收到此错误,并且一切顺利。

我试过的

我曾尝试使用导入语句。 com.Example.rest.*com.Example.rest.TheController没有结果。

任何帮助,将不胜感激 :)

在您的应用程序类上添加 @ComponentScan。

package com.example.config;

@SpringBootApplication
@ComponentScan(basePackages = "com.example")
public class SpringBootComponentScanApp {

}

我个人认为将您的配置放在子包“com.example.config”而不是父包“com.example”中是个好主意,但您需要覆盖 Spring Boot 的默认组件扫描。

另见https://www.baeldung.com/spring-component-scanning

Spring Boot 只会扫描从应用程序类的包(用@SpringBootApplication注释)及以下的组件(控制器、服务、存储库等)。

所以最好使用com.example.Application ,然后你可以使用com.example.rest.TheController并且事情应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM