1. resources中的配置文件如果未拷贝到target
并不会报错,需要在pom.xml的build中添加
<resources> <resource> <directory>src/main/java</directory><!--所在的目录--> <includes><!--包括目录下的.properties,.xml 文件都会被扫描到--> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory><!--所在的目录--> <includes><!--包括目录下的.properties,.xml 文件都会被扫描到--> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
2. no mappering for GET /
原因一:静态资源的访问出问题
可使用defaultServlet
spring.mvc 中添加 <mvc:default-servlet-handler />
web.xml中在dispatcherServlet之前添加
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping>
或者在spring.mvc中对静态资源进行手动映射配置
<mvc:resources mapping="/img/**" location="/img/"/>
但这种方式在拦截jquery.min的时候出过问题。
原因二:xml文件未加载
3. classpath和classpath*
前者只会从第一个classpath中加载,而
后者会从所有的classpath中加载
如果要加载的资源,
不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的,
这种情况下就需要使用classpath*:前缀
在多个classpath中存在同名资源,都需要加载,
那么用classpath:只会加载第一个,这种情况下也需要用classpath*:前缀
注意:
用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。
4. Date类型
@DateTimeFormat(pattern = "yyyy-MM-dd") //从前端获取
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") //要返回给前端
5.restful
请求的末尾添加 / 后404, 例如添加的请求 url: " / team / ",
默认情况下,请求末尾的斜杠,在服务端处理的情况是不确定的(如果用到了框架,框架对于/的处理也是不确定的),所以在请求的时候,api末尾不应该带有/。
如果api中没有该Get方法,则会返回404,有则返回Get 方法的响应。
6. string类型 却报Integer out of range
由自己创建了构造方法引起
解决方案:给默认构造方法