java yml文件配置集合
时间: 2024-05-13 14:14:02 浏览: 5
在 Java 中,可以通过使用第三方库 SnakeYAML 来解析和生成 YAML 配置文件。下面是一个示例 YAML 配置文件,其中包含一个集合:
```
# 示例 YAML 配置文件
database:
driverClass: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://localhost:3306/mydatabase
username: myusername
password: mypassword
connectionProperties:
autoReconnect: true
characterEncoding: UTF-8
useUnicode: true
```
在 Java 中,可以将上述 YAML 配置文件解析为一个 Map 对象,其中包含一个名为 "database" 的键,对应一个包含多个键值对的子 Map。可以使用以下代码来实现:
```java
import java.io.InputStream;
import java.util.Map;
import org.yaml.snakeyaml.Yaml;
public class YamlExample {
public static void main(String[] args) {
// 加载 YAML 文件
InputStream inputStream = YamlExample.class.getClassLoader().getResourceAsStream("config.yml");
// 解析 YAML 文件为 Map 对象
Yaml yaml = new Yaml();
Map<String, Object> data = yaml.load(inputStream);
// 获取集合中的某个属性
Map<String, Object> database = (Map<String, Object>) data.get("database");
String driverClass = (String) database.get("driverClass");
String jdbcUrl = (String) database.get("jdbcUrl");
String username = (String) database.get("username");
String password = (String) database.get("password");
Map<String, Object> connectionProperties = (Map<String, Object>) database.get("connectionProperties");
boolean autoReconnect = (boolean) connectionProperties.get("autoReconnect");
String characterEncoding = (String) connectionProperties.get("characterEncoding");
boolean useUnicode = (boolean) connectionProperties.get("useUnicode");
// 打印输出
System.out.println("driverClass: " + driverClass);
System.out.println("jdbcUrl: " + jdbcUrl);
System.out.println("username: " + username);
System.out.println("password: " + password);
System.out.println("autoReconnect: " + autoReconnect);
System.out.println("characterEncoding: " + characterEncoding);
System.out.println("useUnicode: " + useUnicode);
}
}
```
上述代码中,首先使用 SnakeYAML 的 Yaml 类加载 YAML 文件并解析为一个 Map 对象。然后,通过获取 Map 对象中的键值对,可以访问集合中的各个属性。最后,将获取的属性打印输出。