小白学习sprint boot容易遇到了一些问题

1. Idea 新建springboot项目 spring-boot-starter-parent 包maven依赖报错

解决方式
解决方式一:
1. 重新敲一遍配置,不要复制,复制会有各种问题, 重新敲一遍重新导入就没有问题了
方式二:换镜像

因为你未配置maven镜像使用的是默认的,建议在maven的setting中配置国内镜像;

maven的setting配置和引入步骤;

方式三:在pom.xml配置文件中加入下面这些配置
<repositories>
    <repository>
        <id>spring-snapshots</id>
        <url>http://repo.spring.io/libs-snapshot</url>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>spring-snapshots</id>
        <url>http://repo.spring.io/libs-snapshot</url>
    </pluginRepository>
</pluginRepositories>

2. expected START_TAG or END_TAG not TEXT (position: TEXT seen ...

解决方法:
pom.xml中部分内容格式不正确,整理格式,删除多余空格。
 

3. @ResponseBody详解

注意:在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。
 

4. The requested URL /spring-boot/docs/2.2.2.RELEASE/reference/html/configuration-metadata.html was not

解决方法,将请求地址栏版本改为2.1.9

5. spring-boot配置文件中server.context-path不起作用

spring-boot配置文件中server.context-path=/XXXXXXX不起作用:

原因是更新后写法变成了server.servlet.context-path=/XXXXXX,这样写即可

https://blog.csdn.net/han_ying_ying/article/details/80454176

6. 解决 idea 运行 Spring Boot 项目启动慢的问题

解决方案:
1. hostname命令查看自己的 hostname
2. 在C:windowssystem32drivershosts配置文件中添加下面的配置
127.0.0.1<两个tab>LAPTOP-H4HP3NC9
255.255.255.255<两个tab>broadcasthost
::1<两个tab>LAPTOP-H4HP3NC9
https://blog.csdn.net/weixin_40816738/article/details/103722633

7. 在springboot中表单中设置put请求不成功

<input type="hidden" name="_method" value="put" th:if="${emp!=null}"/>
注意在新版本的SpringBoot中,这个put请求不发生作用。原因是因为springboot自动配置,帮我们省略了第一步的配置,上面代码方法就是为了实现自动配置,但是因为注解@ConditionalOnProperty限制了自动配置,默认false不开启配置,所以页面的put提交无法使用。 解决办法: properties配置文件中配置,使之开启自动配置: spring.mvc.hiddenmethod.filter.enabled=true。

8. 使用请求转发导致前端页面css样式消失的原因和解决办法

因为是转发过来的请求,所以当前请求的相对路径是和后台的相对路径是一样的,而前端页面中很多css样式文件的引入默认是前端的相对路径,前端的相对路径和后端的相对路径不一致,这时候我们需要的样式文件可能就获取不到,从而样式消失
解决办法是把前端路径设置成绝对路径,这样就转发请求时就不受后台相对路径的影响了

9. driver-class-name: com.mysql.jdbc.Driver报错

cannot resolve class or package
把pom.xml文件中mysql的依赖的runtime运行范围去掉
<dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <!--<scope>runtime</scope>-->
</dependency>

10. java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than

这个是MySQL时区问题

解决方案
1.更换成低版本的MYSQL的依赖;
2.这时候只要在MySQL连接数据库的url中加入?serverTimezone=UTC即可。

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/markov_demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC

报错原因
SpringBoot整合MySQL的依赖包版本过高,在高版本的MySQL依赖中数据库和系统时区差异所造成的。系统为SQL默认美国时间,而我们中国要比他们迟8小时,因此将时区设置为当前系统时区即可,采用+8:00格式

11. SpringBoot 2.x新版本整合jdbc执行SQL文件建表失败无报错

在用SpringBoot整合JDBC的时候 莫名其妙的发现建表失败了并且没有报错提示
在Spring2.x新版本中 要执行sql文件 还须配置spring.datasource.initialization-mode=always 表示始终执行初始化
spring:
  datasource:
    initialization-mode: always
否则的话 默认仅初始化嵌入的数据源 而不会初始化所有数据源 因而需要手动指定
原文地址:https://www.cnblogs.com/hi3254014978/p/13206706.html