springboot static properties / static method to read the configuration property from YAML (yml)

Start class add comments @EnableConfigurationProperties

import jnetman.session.SnmpPref;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableCaching
@EnableScheduling
@SpringBootApplication
@EnableConfigurationProperties({ SnmpPref.class })
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

application.yml

snmp:
  job:
    cronExpr:  0/30 * * * * ?
  config:
    v3User: root
    password: xxx
    privacyDES:  bbb
    port: 161
    trapsPort:  162
    timeout:  3000
    maxRetries: 3
    isSnmp4JLogEnabled:  true
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;


/***
 * Snmp协议相关配置参数
 */
@ConfigurationProperties(prefix = "snmp.config")
public class SnmpPref {

    public static String v3User;
    
    public static String password;
    
    public static String privacyDES;
    
    public static int port;
    
    public static int trapsPort;
    
    public static int timeout;
    
    public static int maxRetries;
    
    public static boolean isSnmp4JLogEnabled;


    @Value("${snmp.config.v3User}")
    public void setV3User(String v3User) {
        SnmpPref.v3User = v3User;
    }

    @Value("${snmp.config.password}")
    public void setPassword(String password) {
        SnmpPref.password = password;
    }

    @Value("${snmp.config.privacyDES}")
    public void setPrivacyDES(String privacyDES) {
        SnmpPref.privacyDES = privacyDES;
    }

    @Value("${snmp.config.port}")
    public void setPort(int port) {
        SnmpPref.port = port;
    }

    @Value("${snmp.config.trapsPort}")
    public void setTrapsPort(int trapsPort) {
        SnmpPref.trapsPort = trapsPort;
    }

    @Value("${snmp.config.timeout}")
    public void setTimeout(int timeout) {
        SnmpPref.timeout = timeout;
    }

    @Value("${snmp.config.maxRetries}")
    public void setMaxRetries(int maxRetries) {
        SnmpPref.maxRetries = maxRetries;
    }

    @Value("${snmp.config.isSnmp4JLogEnabled}")
    public void setIsSnmp4JLogEnabled(boolean isSnmp4JLogEnabled) {
        SnmpPref.isSnmp4JLogEnabled = isSnmp4JLogEnabled;
    }

    public static String getUser() {
        return v3User;
    }

    public static String getPassword() {
        return password;
    }

    public static String getPrivacyDES()
    {
        return privacyDES;
    }

    public static int getPort() {
        return port;
    }

    public static int getTrapsPort() {
        return trapsPort;
    }

    public static int getTimeout() {
        return timeout;
    }

    public static int getMaxRetries() {
        return maxRetries;
    }

    public static boolean isSnmp4jLogEnabled() {
        return isSnmp4JLogEnabled;
    }
}

 

Instructions:

...
this(targetDevice,SnmpPref.getUser(),SnmpPref.getPassword(),SnmpPref.getPrivacyDES());
...

 

Guess you like

Origin www.cnblogs.com/passedbylove/p/11207827.html
Recommended