V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  fykang  ›  全部回复第 1 页 / 共 1 页
回复总数  15
2023-12-19 11:23:11 +08:00
回复了 sankooc 创建的主题 Java 请教一个 springboot 配置相关问题
算了,我放弃排版了,你应该能理解吧
2023-12-19 11:22:14 +08:00
回复了 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");

}

}
```
2023-12-19 11:18:36 +08:00
回复了 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   ·   实用小工具   ·   5756 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 06:23 · PVG 14:23 · LAX 22:23 · JFK 01:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.