Springは静的変数に値を注入します.
3729 ワード
一、問題実際に開発する過程で、私達はよく構成ファイルにパラメータを定義する必要があります.プロジェクトで使用します. 設定ファイルに変数を定義します. はこの変数に値を注入します. しかし、静的な方法を定義したら、構成ファイルの属性を使用する必要があります.習慣的に変数を静的に変更して、そのまま使用します.例えば、 使っても間違えないです.よさそうですが、本当に大丈夫ですか?実はだめです.この変数の値は注入されていません.ずっとnullです. 二、静的変数への注入値-01@Componentコメントをクラスに追加します. はset方法を使用する. 三、静的変数への注入値-02私達は多くの時直接業務コードの中で@Value()の注釈を使わないで、統一的な変数種類を定義します.例えば、 このタイプを注入したいですが、どうすればいいですか? は、 注入このクラス:
dubbo.provider.version=1.0.0
.@Value("${dubbo.provider.version}")
private String dubboVersion;
@Value("${dubbo.provider.version}")
private static String dubboVersion;
private static String dubboVersion;
@Value("${dubbo.provider.version}")
public void setDubboVersion(String version) {
dubboVersion = version;
}
@Data
@Configuration
public class PropertiesConfig {
@Value("${dubbo.provider.version}")
private String dubboVersion;
}
PropertiesConfig
を導入する必要があるクラスに@Component注釈を追加する.@Component
public class UrlUtils {
private static PropertiesConfig propertiesConfig;
@Autowired
public UrlUtils(PropertiesConfig propertiesConfig) {
UrlUtils.propertiesConfig = propertiesConfig;
}