Springbootがデータベースデータソースを構成する際の小さな穴について

今日、小さな Springboot プロジェクトに取り組んでいるときに、見つけるのが難しいバグに遭遇しました。皆さんのために穴を避けます。プロジェクトの基本環境がセットアップされ、実行およびテストの準備ができたとき、頭痛がしました。 「小さなバグ」が現れました:

「データソースの構成に失敗しました: 'url' 属性が指定されておらず、埋め込みデータソースを構成できませんでした。」 これは、大まかに言うと、データ ソースの "url" 構成に問題があるということです。データ ソースの構成を開始したところです。次のように:

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

おそらく「url」の設定が間違っているのではないかと思いましたが、よく確認したところ間違いはなかったので、「url」を次のように変更しました。

url: jdbc:mysql://localhost:3306/reggie

しかし、同じエラーが依然として報告されます。オンラインで検索しました。不要な依存関係をインポートしたことが原因であるという人もいれば、構成ファイルの記述が間違っているためであるという人も、構成がスキャンされていないためであるという人もいます, などの理由があるのですが、これらの理由を一つ一つ確認してもエラーが報告されてしまい、頭が痛いです。

次に、Springboot データ ソースの構成ファイルの例を詳しく調べたところ、いくつかの例が Druid データ ソースを使用して構成されていることがわかりました。

type: com.alibaba.druid.pool.DruidDataSource

「datasource」の下に「druid」を直接追加するのではなく、「type」を使用すると正常に動作することがわかりました。

最初の設定の書き方は、「こう書いてあった」といつも覚えていて、ネット上にもこの書き方の例があったり、IDEAでもこのようにプロンプ​​トが表示されたりするので、自分の設定で大丈夫だといつも感じています。なぜこの書き方でエラーが出るのかについては、個人的な推測ですが、Springboot かデータベースのバージョンアップによるものかもしれません。

また、「データソースの構成に失敗しました: 'url' 属性が指定されておらず、埋め込みデータソースを構成できませんでした。」というメッセージが発生した場合の考え方を提供することも目的としています。

おすすめ

転載: blog.csdn.net/m0_56680022/article/details/128955681