Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring中使用来自不同包的rest控制器?_Java_Spring_Api_Rest - Fatal编程技术网

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

Java 如何在Spring中使用来自不同包的rest控制器?,java,spring,api,rest,Java,Spring,Api,Rest,发生了什么事 我正在使用Java,Springboot 我正在尝试创建一个简单的API 我有一个名为Example的包。 我有两个子包,分别是config和rest 配置中是类应用程序,它是我的spring应用程序。 rest中是类控制器,它是rest控制器 当前,当我运行应用程序时,Application并尝试转到其中一个get映射时,我会看到一个白色标签错误页面 但是,如果我将控制器移动到配置程序包,我不会得到这个错误,这是一帆风顺的 我尝试过的 我已尝试使用导入语句。 com.Exampl

发生了什么事

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

我有一个名为
Example
的包。 我有两个子包,分别是
config
rest

配置中是类
应用程序
,它是我的spring应用程序。 rest中是类
控制器
,它是rest控制器

当前,当我运行应用程序时,
Application
并尝试转到其中一个get映射时,我会看到一个白色标签错误页面

但是,如果我将
控制器
移动到
配置
程序包,我不会得到这个错误,这是一帆风顺的

我尝试过的

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


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

Spring Boot将仅从应用程序类的包(用
@SpringBootApplication
注释)和下面开始扫描组件(控制器、服务、存储库等)


因此,最好使用
com.example.Application
,然后您可以使用
com.example.rest.TheController
,一切都应该正常。

在您的应用程序类上添加@component扫描

package com.example.config;

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

}
我个人认为,最好将配置放在子包“com.example.config”中,而不是放在父包“com.example”中,但在这种情况下,您需要覆盖Spring Boot的默认组件扫描

另见