web-dev-qa-db-ja.com

プロパティファイルからブールプリミティブをautowire

こんにちは私はプロパティファイルからブール値を自動配線したいのですが、マップのURLで次のリンクを参照しています Spring properties(property-placeholder)autowiring

しかし、ブール値のプロパティを自動配線したいので、質問Spring Autowireプリミティブブール値Spring Autowireプリミティブブール値 も参照しましたが、それはBean値の場合、私の場合は、ドットで区切られたプロパティ値を使用して同じことを行います。

${does.it.allow} //失敗し、Stringを与えるものはブール値にキャストできません#{does.it.allow} //これは、名前doesで定義されたBean /プロパティを提供しませんが、正しいプロパティファイルがあり、コンテナがそれをロードできることを証明しています。最初のエラーの。

11
Aniruddha

プリミティブブール値では機能しません。しかし、それはブール型で行います。

これは、プロパティファイルの春の構成宣言です。

<context:property-placeholder location="classpath:path/to/file/configuracion.properties" />

これは私が私のプロパティファイルに持っているものです:

my.property=false

そして、これは私の成功したサービスクラスです:

...
@Service
public class MyServiceImpl implements MyService{
...
    @Value("${my.property}")
    private Boolean nameOfProperty;
...
14
Carlos

少なくともSpring5(以前のバージョンはテストしていません)から、ブールプリミティブを自動配線できます。

アプリケーションのプロパティ:

my.property=true

あなたのクラスでは:

@Value("${my.property}")
private boolean myProperty;
3
Ortomala Lokni