问题:
正常配置一个springboot项目,结构如下:
原因
程序只加载Application.java所在包及其子包下的内容;所以如果新建的类似controller.java的类存在于别的包,访问requestmapping url就会报Whitelabel Error Page错误;
解决方案
一、在Application类中加上@ComponentScan(basePackages = {“com.snow.web”}) 多个之间用","分隔
二、修改包的目录结构,将Application.java,放到根目录下面,建议使用方案二
官网说明
Spring Boot 建议的目录结构如下。
com.example.myproject 目录下:
myproject
+-src
+- main
+- java
+- com.example.myproject
+- comm
+- model
+- repository
+- service
+- web
+- Application.java
+- resources
+- static
+- templates
+- application.properties
+- test
+-pom.xml
com.example.myproject 目录下:
-
Application.java,建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 main() 方法;
-
comm 目录建议放置公共的类,如全局的配置文件、工具类等;
-
model 目录主要用于实体(Entity)与数据访问层(Repository);
-
repository 层主要是数据库访问层代码;
-
service 层主要是业务类代码;
-
web 层负责页面访问控制。
resources 目录下: -
static 目录存放 web 访问的静态资源,如 js、css、图片等;
-
templates 目录存放页面模板;
-
application.properties 存放项目的配置信息。
-
test 目录存放单元测试的代码;pom.xml 用于配置项目依赖包,以及其他配置。