私はスプリングブートでコーディングしています。他のパッケージのproperties.propertiesの価値を成功させようとしました。クラッセClassUtils.javaの例では、ここでtestValueの値は常にスプリングブートアプリケーションでプロパティの値を取得できません
nullです。これは
私のプロジェクトであるこれは私のコードです:
package com.plugins.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.plugins.domain.ClassUtils;
@RestController
public class SearchContactController {
@Value("${environnement.test}")
String testValue;
@Value("${environnement.url}")
String urlValue;
@RequestMapping(value = "/test")
public String pingRequest() {
System.out.println("value ===> " + testValue + " /// " + urlValue);
return "test !" + ClassUtils.getTestValue();
}
}
これは私の第二のクラスですここでは、私はtestValue変数の値を取得できません:
package com.plugins.domain;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class ClassUtils {
@Value("${environnement.test}")
static String testValue;
public static String getTestValue(){
return "The return "+testValue;
}
}
これは私springApp.javaある
package com.plugins;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootVideApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootVideApplication.class, args);
}
}
どちらのクラスは 'ConfigurationProperties' @であり、したがってどちらが得るある他のクラスのメソッドを使用するクラスに@Autowiredアドインによってこの問題を解決しますおそらくあなたが探している "リラックスした束縛"です。個別の '@ConfigurationProperties'クラスを作成して、情報を保持して注入します。 – chrylis
ところで、あなたは繰り返しプロパティ名に 'environment'をミスタイプしました。それは技術的な問題ではありませんが、原因としてそれを排除することを指摘したいと思います。 – Bloodysock