spring boot填坑(一)

問題1:Failed to configure a DataSource.

報錯信息節選如下所示:

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

出現這個問題的原因,大部分是由於spring - datasource - url沒有加載成功,如下所示:

  1. DataSourceAutoConfiguration會自動加載

  2. 沒有配置spring - datasource - url 屬性

  3. spring - datasource - url 配置的地址格式有問題

  4. 配置 spring - datasource - url的文件沒有加載

而導致Mybatis沒有找到合適的加載類。可以嘗試通過如下4種方式進行解決:

    1. 嘗試排除類的autoconfig

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

    2.確認spring - datasource - url 屬性的配置

    在application.properties或application.xml文件種進行了spring-datasource-url的有效配置。

    application.xml文件,mysql-connector-java 6.0.x 及以上版本配置

spring:
  datasource:
    url:jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

     application.properties文件,mysql-connector-java 6.0.x 及以上版本配置

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456

    3. 確認spring - datasource - url 配置的地址格式沒有問題

   校對2中的url地址是否有效,是否正確,這兩個文件中書寫url時均不需要轉義字符。

   4. 確認配置 spring - datasource - url的文件有效加載

   在pom.xml文件中加入類似如下所示的代碼,確保配置了spring - datasource - url的文件有效加載

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <!--引入所需環境的配置文件-->
                    <include>application.properties</include>
                </includes>
            </resource>
        </resources>
</build>

問題2:時區問題

spring boot項目常用的時區問題解決方式,有兩個。

1. 在application.properties或application.xml文件中進行如下配置:

spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

2. 在spring - datasource - url(mysql-connector-java 6.0.x 及以上版本)配置時,指定時區

spring.datasource.url=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章