V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  fykang  ›  全部回复第 1 页 / 共 1 页
回复总数  15
341 天前
回复了 sankooc 创建的主题 Java 请教一个 springboot 配置相关问题
算了,我放弃排版了,你应该能理解吧
341 天前
回复了 sankooc 创建的主题 Java 请教一个 springboot 配置相关问题
排版乱了,重新发一下


优雅做法你应该写成 map 的方式注入配置,可以参考 security 中关于不同的 resource 的注入
根据你的示例可以改写成

配置文件
```yml
vendor:
proto: # 原型缺省值
name: test
age: 20
income: 100
instance: //实例列表
X:
age: 23 # 具体实例覆盖缺省值字段
Y:
name: test4 # 具体实例覆盖缺省值字段
```

配置类
```java

@Data
@ConfigurationProperties(prefix = "vendor")
public class VendorProperties {

private Instance proto;

private Map<String,Instance> instanceMap;

@Data
public static class Instance{
private Integer age;
private String name;
private Integer income;
}
}
```
注入配置
```java
@Configuration
@EnableConfigurationProperties({VendorProperties .class})
public class MayConfigurer {

@Autowired
private VendorProperties vendorProperties;



public void doCreate(){
// todo 拿到这个配置类就可以写的的具体工厂方法了

Instance proto = vendorProperties.getProto();

// 灵活的方式改成遍历 entrySet 的方式最好,下面我就简单写一下获取不同的配置方式

Instance x = vendorProperties.getInstanceMap().get("X");

Instance y = vendorProperties.getInstanceMap().get("Y");

}

}
```
341 天前
回复了 sankooc 创建的主题 Java 请教一个 springboot 配置相关问题
优雅做法你应该写成 map 的方式注入配置,可以参考 security 中关于不同的 resource 的注入
根据你的示例可以改写成

配置文件
```yml
spring:
...
vendor:
proto: // 原型缺省值
name: test
age: 20
income: 100
instance: //实例列表
X:
age: 23 // 具体实例覆盖缺省值字段
Y:
name: test4 // 具体实例覆盖缺省值字段
```

配置类
```java

@Data
@ConfigurationProperties(prefix = "vendor")
public class VendorProperties {

private Instance proto;

private Map<String,Instance> instanceMap;

@Data
public static class Instance{
private Integer age;
private String name;
private Integer income;
}

}
```
注入配置
```java
@Configuration
@EnableConfigurationProperties({VendorProperties .class})
public class MayConfigurer {

@Autowired
private VendorProperties vendorProperties;



public void doCreate(){
// todo 拿到这个配置类就可以写的的具体工厂方法了

Instance proto = vendorProperties.getProto();

// 灵活的方式改成遍历 entrySet 的方式最好,下面我就简单写一下获取不同的配置方式

Instance x = vendorProperties.getInstanceMap().get("X");

Instance y = vendorProperties.getInstanceMap().get("Y");

}

}
```
2020-11-11 20:23:27 +08:00
回复了 cmai 创建的主题 程序员 服务单节点转为多节点有什么需要考虑的吗?
websocket 可以使用消息中间件,用过华为的 emq 消息中间件来做 websocket 转发,用订阅发布的模式交互信息
2020-09-08 14:35:59 +08:00
回复了 mqycn 创建的主题 程序员 会了吧插件 jetbrains 用户收集贴
+1
2020-08-21 14:50:25 +08:00
回复了 SurfaceView 创建的主题 程序员 大佬们你们 sql gui 都用啥啊?
oracle 用什么 gui 比较好,navicat 在连 oracle 的时候体验很差,还不如 plsql
2020-06-04 18:29:34 +08:00
回复了 vansje 创建的主题 程序员 (转帖)论一次坎坷的小票打印机对接开发
这个我写过,一个 esp32 联网模块,热敏打印机和 esp32 用串口通讯,云端通讯用 mqtt 协议。用 c/c++的 arduino 框架写嵌入式。和你刚好相反,我是先写了这个后来团队嫌不够美观要换商用的飞蛾打印机
2020-02-10 09:46:20 +08:00
回复了 fykang 创建的主题 程序员 企业微信远程开会,大家有出现串频道的情况吗?
显示只有主持人开麦了,主持人也在不断的强调要关麦
@MaiKurak 这台服务器我已经已经备案两年多了,阿里的备案流程还不算麻烦映像中 1 个多星期就搞定了
@zuokanyunqishi 除了 golang 其他都搞过
@fokia 这个看起来挺有意思,web 网站那些都搭过了,搞搞 lfs 看
@iphoneXr 内网穿透有弄过,搞了一个 openvpn
所有应用我都是用 docker 去部署的,都是卡在性能上跑不动
2020-01-18 08:54:38 +08:00
回复了 wangxiaoaer 创建的主题 问与答 二级域名能否使用 let's encrypt 证书
没问题,我一直都是用 letsencrypt-nginx-proxy-companion 搭了个自动部署 ssl 证书的服务,只要把 ip 指向自己服务器其他都自动完成
2019-08-30 22:03:35 +08:00
回复了 anselleeyy 创建的主题 酷工作 [阅文集团] [2020 校招内推] 内推码: 390761
可以远程面试吗
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2591 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 04:44 · PVG 12:44 · LAX 20:44 · JFK 23:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.