Spring boot应用踩坑集锦

spring boot是spring的一种开发套件,是spring cloud的基础框架,要学习spring cloud微服务是绕不开的,遇到一些踩坑问题在这里记录下,以后有问题都会不定期更新。

1、maven项目角标始终有个红叹号

红色叹号一般表示包引入有问题,具体可以查看myeclipse下方的"Problems"窗口,这里会显示完整的报错信息。

我在新建spring boot应用时maven里加了几个javaEE包的配置,最简单的办法是删除所有javaEE的maven依赖,因为这些依赖和spring boot本身依赖有冲突,存在重复引入的问题。

解决办法:删除maven中的javaEE等依赖,最后再maven update

2、spring boot接口访问始终404

404的原因很多,比如包名引入错误,启动类和controller等类不在同一子包下等,我的问题属于第二种,spring boot的启动类起初我放在了com.starter下,其余类分别在com.entity、com.controller等,spring boot默认扫描的bean是和启动类同包或者该包的子包的,所以这样写会导致controller等类无法被扫描。

解决办法:将启动类放在父包下,比如直接放在com包下

3、配置actuator监控访问发现404

配置Actuator监控spring boot应用,只需要在maven中加入依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

实际访问时总是报404:http://localhost:8000/info,其实,自Spring Boot 2.0.1.RELEASE以来,actuator文档便所修改,具体可以查看官方最新文档,或者直接浏览:https://blog.csdn.net/alinyua/article/details/80009435

Spring Boot 2.0的端点基础路径由"/"调整到"/actuator"下,如:/info调整为/actuator/info,可以通过以下配置改为和旧版本一致:management.endpoints.web.base-path=/
05-08 15:14