小白學習sprint boot容易遇到了一些問題
阿新 • • 發佈:2021-02-09
技術標籤:資料庫javamysqlspringspring boot
1. Idea 新建springboot專案 spring-boot-starter-parent 包maven依賴報錯
Project 'org.springframework.boot:spring‐boot‐starter‐parent:1.5.9.RELEASE' not found less... (Ctrl+F1) Inspection info: Inspects a Maven model for resolution problems. 解決方式 解決方式一: 1. 重新敲一遍配置,不要複製,複製會有各種問題, 重新敲一遍重新匯入就沒有問題了 方式二:換映象因為你未配置maven映象使用的是預設的,建議在maven的setting中配置國內映象;
參考: https://blog.csdn.net/qq_26369317/article/details/80816098<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中部分內容格式不正確,整理格式,刪除多餘空格。 https://blog.csdn.net/qq_23994787/article/details/829952713. @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.95. 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:\windows\system32\drivers\hosts配置檔案中新增下面的配置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。
https://blog.csdn.net/sinat_41258771/article/details/104256647?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2
8. 使用請求轉發導致前端頁面css樣式消失的原因和解決辦法
因為是轉發過來的請求,所以當前請求的相對路徑是和後臺的相對路徑是一樣的,而前端頁面中很多css樣式檔案的引入預設是前端的相對路徑,前端的相對路徑和後端的相對路徑不一致,這時候我們需要的樣式檔案可能就獲取不到,從而樣式消失 解決辦法是把前端路徑設定成絕對路徑,這樣就轉發請求時就不受後臺相對路徑的影響了 https://blog.csdn.net/gan14763226017/article/details/850013409. 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://blog.csdn.net/Piconjo/article/details/105054250