検索
ホームページJava&#&チュートリアルspringBoot で @Value を使用する場合の問題を解決する方法

@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 サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 英語版

SublimeText3 英語版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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