Springboot がアプリケーション構成ファイル内のカスタム構成を読み取るいくつかの方法

1.@Valueアノテーションの読み込み方法

application.yml カスタム構成
ここに画像の説明を挿入します
読み取り構成クラス

package com.ruoyi.common.core.domain;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class OpcserverConfig {
    
    


    @Value("${opcserver.ip}")
    private String ip;

    @Value("${opcserver.port}")
    private String port;

    public String getIp() {
    
    
        return ip;
    }

    public void setIp(String ip) {
    
    
        this.ip = ip;
    }

    public String getPort() {
    
    
        return port;
    }

    public void setPort(String port) {
    
    
        this.port = port;
    }
}

2.@ConfigurationPropertiesアノテーションの読み込み方法

構成クラスの読み取り

package com.ruoyi.common.core.domain;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "opcserver")
public class OpcserverConfig2 {
    
    


    private String ip;

    private String port;

    public String getIp() {
    
    
        return ip;
    }

    public void setIp(String ip) {
    
    
        this.ip = ip;
    }

    public String getPort() {
    
    
        return port;
    }

    public void setPort(String port) {
    
    
        this.port = port;
    }
}

指定されたファイルを読み取ります

注: 1. リソース ディレクトリ (resources) の下に作成されます。 2. @PropertySource は yml ファイルの読み込みをサポートしていません。
ここに画像の説明を挿入します

方法1:@PropertySource+@Valueアノテーションの読み込み方法

package com.ruoyi.common.core.domain;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource(value = "opcconfig.properties")
public class OpcConfig {
    
    


    @Value("${opc.ip}")
    private String ip;

    @Value("${opc.port}")
    private String port;

    public String getIp() {
    
    
        return ip;
    }

    public void setIp(String ip) {
    
    
        this.ip = ip;
    }

    public String getPort() {
    
    
        return port;
    }

    public void setPort(String port) {
    
    
        this.port = port;
    }
}

方法2:@PropertySource+@ConfigurationPropertiesアノテーションの読み込み方法

package com.ruoyi.common.core.domain;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "opc")
@PropertySource(value = {
    
    "opcconfig.properties"})
public class OpcConfig2 {
    
    


    @Value("${opcs.ip}")
    private String ip;

    @Value("${opc.port}")
    private String port;

    public String getIp() {
    
    
        return ip;
    }

    public void setIp(String ip) {
    
    
        this.ip = ip;
    }

    public String getPort() {
    
    
        return port;
    }

    public void setPort(String port) {
    
    
        this.port = port;
    }
}

3. 環境は設定を直接読み取ります

    @Autowired
    private Environment env;
    
   	public String getOpcIp(){
    
    
      return env.getProperty("opc.ip");
    }

おすすめ

転載: blog.csdn.net/A_awen/article/details/123800575