启动类添加注解@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;
}
}

使用方法:

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

springboot中静态属性/静态方法从YAML(yml)读取配置属性的更多相关文章

  1. IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404

    IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404 .embody{ padding:10px 10px 10px; margin:0 -20px; borde ...

  2. SpringBoot:静态资源映射、定制404、配置icon

    目录 静态资源映射规则 定制首页 定制错误页面 配置 icon 静态资源映射规则.定制首页.定制404页面.配置网站的图标 静态资源映射规则 SpringBoot中对于静态资源(css,js,img. ...

  3. Springboot中静态资源和拦截器处理(踩了坑)

    背景: 在项目中我使用了自定义的Filter 这时候过滤了很多路径,当然对静态资源我是直接放过去的,但是,还是出现了静态资源没办法访问到springboot默认的文件夹中得文件 说下默认映射的文件夹有 ...

  4. 8 — springboot中静态资源处理方式 - 前后端分离 这没屁用

    7中说了thymeleaf,哪还有一个目录是static 那么就来研究一下静态资源 静态资源,springboot底层是怎么去装配的,都在WebMvcAutoConfiguration有答案,去看一下 ...

  5. SpringBoot中maven打包,启动报没有主清单属性

    有时候会出现这种情况,看一下项目的pom中是否有这个插件配置,没有的话需要引入. <build> <plugins> <plugin> <groupId> ...

  6. 关于SpringBoot中静态资源访问的问题

    第一种方式 : 放在src/main/webapp目录下 第二种方式:放在classpath下(网页存放于static目录下, 默认的"/"指向的是~/resouces/stati ...

  7. 【spring boot】SpringBoot初学(2.2)– SpEL表达式读取properties属性到Java对象

    前言 github: https://github.com/vergilyn/SpringBootDemo 代码位置:(注意测试方法在,test下的SpelValueApplicationTest.c ...

  8. Springboot 中的配置文件

    Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件.他们的作用都是修改Spring Boot自动配置的默认值. 技术:yaml.properties语法,Con ...

  9. 【2.0】SpringBoot多环境yml文件配置

    一.使用Spring Boot Profiles 1. 使用yml文件 首先,我们先创建一个名为 application.yml的属性文件,如下: server: port: 8080 my: nam ...

随机推荐

  1. ios h5 长按放大镜效果关闭

    对需要禁用的div或者body设置下面样式-webkit-user-select: none;

  2. Python学习笔记----数据类型 运算符 循环 条件判断

    1. Python安装 在官网www.python.org下载安装程序,可以支持的操作系统linux,windows,mac. Python版本:2.x和3.x,分别有x86和x64. 在Window ...

  3. mac+django(1.8.2)+uwsgi+nginx 部署

    一. uwsgi 安装 检验 配置uwsgi.ini 1. 安装 pip3 install uwsgi 2. 检验 方法一(uwsgi启动文件): test.py内容如下: def applicati ...

  4. LIBUSB_TRANSFER_ERROR

    首先, 我的设备是一个KNX无线接受模块, 利用UART与主机相连, 看到的设备就是ttyUSBx 利用libusb写了一个程序, 调用同步I/O 的API, 即libusb_bulk_transfe ...

  5. Javac可以编译,Java显示找不到或无法加载主类

    运行时候加入完整包名.

  6. phpstudy 80端口被占用的解决方法

    1.执行httpd.exe  D:\phpStudy\PHPTutorial\Apache\bin>httpd.exe   返回 could not bind to address 0.0.0. ...

  7. 给PS添加ICO格式文件

    为什么你的ps不能直接打开favicon.ico文件呢?因为你没有安装识别ico的格式插件. 安装步骤如下: 下载格式文件:https://pan.baidu.com/s/1lE0El1VtDqD5l ...

  8. word粘贴图片到ckeitor

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  9. LibreOffice/Calc:单元格设置下拉菜单

     造冰箱的大熊猫,本文适用于LibreOffice Calc 5.1.6.2 + Ubuntu 16.04@cnblogs 2019/1/2 LibreOffice是一个类似Microsoft Off ...

  10. 推荐系统系列(一):FM理论与实践

    背景 在推荐领域CTR(click-through rate)预估任务中,最常用到的baseline模型就是LR(Logistic Regression).对数据进行特征工程,构造出大量单特征,编码之 ...