@Value を使用して値を取得することで生じる問題
springBoot プロジェクトでは、通常、管理を容易にするために構成ファイルにパスまたはリソースを書き込みます。
ただし、入手時に問題が発生する可能性があります。
file.uploadFolder=E://upload/
1. 通常はフィールドを定義します
use @Value("$ {name}" ) 値
@Value("${file.uploadFolder}") private String uploadFolder;
2 を取得できます。ただし、通常はツール クラスで使用します
ただし、フィールドは static によって変更され、静的変数になります。値を取得できない場合は、このメソッドを使用します。取得した場合、取得したものは null です。
そこで、値の取得方法を変更する必要があります。値は次のように取得できます。 set メソッドでは static を使用しないように注意してください。 ! !
private static String uploadFolder; public static String getUploadFolder() { return uploadFolder; } @Value("${file.uploadFolder}") public void setUploadFolder(String uploadFolder) { Base64Utils.uploadFolder = uploadFolder; }
3. Spring で管理できるように、ツール クラスに @Component またはその他のアノテーション
を追加することをお勧めします。
springBoot が @Value を使用したときに発生したウーロンを覚えておいてください
最初にコードを見てください
server.port=8007 #mysql配置 url=jdbc:mysql://localhost:3306/lzy_zyg?useUnicode=true&characterEncoding=UTF-8 username=root password=root
これは、application.properties に入力された関連する設定情報です。構成は外部構成情報として使用されます。
次に、必要に応じて次のように使用します。
@Configuration public class JfinalDb { @Value("${url}") private String dbUrl; @Value("${username}") private String dbUName; @Value("${password}") private String dbPwd; ... }
これを使用すると、非常に奇妙な問題が発生します。つまり、名前付け設定のユーザー名とパスワードは正しく、ローカル接続も正しいです。 , しかし常に 接続認証に失敗し、ユーザー名がrootではないというエラーです。
最後に dbUName を出力したところ、 は root ではなく、私のホスト名であることがわかりました。
したがって、ここでは、application.properties ファイル内の名前 username をカスタマイズしないように注意してください。期待する結果が得られないためです。
以上がspringBoot で @Value を使用する場合の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
