java怎样实现yaml文件根据传入不同的参数去匹配对应的yaml值
时间: 2023-05-13 17:05:38 浏览: 91
Java可以使用YAML库来实现根据传入不同的参数去匹配对应的YAML值。具体实现可以参考以下代码:
```java
import org.yaml.snakeyaml.Yaml;
import java.io.InputStream;
import java.util.Map;
public class YamlParser {
public static void main(String[] args) {
String param = "dev"; // 传入的参数
InputStream inputStream = YamlParser.class.getClassLoader().getResourceAsStream("config.yml"); // 加载YAML文件
Yaml yaml = new Yaml();
Map<String, Object> map = yaml.load(inputStream); // 解析YAML文件
Map<String, Object> env = (Map<String, Object>) map.get(param); // 根据参数获取对应的值
String url = (String) env.get("url"); // 获取url值
String username = (String) env.get("username"); // 获取username值
String password = (String) env.get("password"); // 获取password值
System.out.println("url: " + url);
System.out.println("username: " + username);
System.out.println("password: " + password);
}
}
```
其中,config.yml文件内容如下:
```yaml
dev:
url: "jdbc:mysql://localhost:3306/dev"
username: "root"
password: "123456"
prod:
url: "jdbc:mysql://localhost:3306/prod"
username: "root"
password: "654321"
```
当传入参数为"dev"时,输出结果为:
```
url: jdbc:mysql://localhost:3306/dev
username: root
password: 123456
```
当传入参数为"prod"时,输出结果为:
```
url: jdbc:mysql://localhost:3306/prod
username: root
password: 654321
```
阅读全文