1. 程式人生 > 其它 >小白學習sprint boot容易遇到了一些問題

小白學習sprint boot容易遇到了一些問題

技術標籤:資料庫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中配置國內映象;

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>
參考: https://blog.csdn.net/qq_26369317/article/details/80816098

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

解決方法: pom.xml中部分內容格式不正確,整理格式,刪除多餘空格。 https://blog.csdn.net/qq_23994787/article/details/82995271

3. @ResponseBody詳解

注意:在使用 @RequestMapping後,返回值通常解析為跳轉路徑,但是加上 @ResponseBody 後返回結果不會被解析為跳轉路徑,而是直接寫入 HTTP response body 中。 比如非同步獲取 json 資料,加上 @ResponseBody 後,會直接返回 json 資料。
https://blog.csdn.net/originations/article/details/89492884

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:\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/85001340

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格式

來源:https://www.cnblogs.com/muzinala/p/13093947.html

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