我正在尝试运行一个应用程序,以便我可以在本地测试它,但目前我遇到了问题。
我正在使用gradle并遵循本教程
https://spring.io/guides/gs/serving-web-content/
但是,我完成了教程并运行此命令:
./gradlew bootRun
应用程序启动但我无法达到终点。
它会抛出以下错误:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Dec 16 16:25:06 GMT 2016
There was an unexpected error (type=Not Found, status=404).
No message available
知道如何解决这个问题吗?
package conf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
问候班
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
*/
@Controller
public class GreetingController {
@RequestMapping("/greeting")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
由于
答案 0 :(得分:2)
我认为这是因为你的包结构。根据您提供的代码,您的Application
课程无法看到GreetingController
,因为他们在兄弟套餐中。 @SpringBootApplication
需要能够组件扫描相同的包和子包。它无法看到兄弟包。所以GreetingController
永远不会被连接起来。
无效:
com.conf.Application
com.controller.GreetingController
会工作:
com.conf.Application
com.conf.controller.GreetingController