这是demoApplication类
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
这是控制器
package com.example.demo.controllers;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HomeController
{
@RequestMapping("/")
@ResponseBody
Response hellow() {
return new Response("Hello World!");
}
class Response{
private String message;
Response(String message){
this.setMessage(message);
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
}
如果我将控制器放在包com.example.demo.controllers
上,但是如果我把它放在com.example.controllers
上我得到一个whiteLabelError,我在com.example.controllers
中设置控制器找不到,我有什么设置为将控制器置于com.example.controllers
并且它有效吗?
答案 0 :(得分:1)
这种情况正在发生,因为标注为DemoApplication
的主要课程@SpringBootApplication
(隐藏as you can see in the source下面的@ComponentScan
)位于包com.example.demo
下,默认情况下会进行扫描此包下的所有类以及下面的所有包。
所以只需在DemoApplication
包下将com.example
提升一级,它就应该有效。
答案 1 :(得分:0)
因为您的论坛DemoApplication
中包含com.example.demo
。控制器包依赖于SpringBoot主文件的包。