4.properties特性集合

1.该流一般用于配置文件。

 

(1)load(io流):把配置文件加载进内存。

(2)store(io流,说明):把内容写入配置文件。

2.Properties 类表示了一个持久的特性集合。

(1)Properties 可保存到流中或从流中加载。
(2)Properties集合是唯一和IO流相结合的集合.

import java.io.*;
import java.util.Properties;

public class demo {
    public static void main(String[] args) throws IOException {
        mystore();
//        myload();
    }
    private static void myload() throws IOException {
        Properties prop = new Properties();
//        FileReader fr = new FileReader("I:java.txt");
        FileReader fr = new FileReader(new File("I:java.txt"));
        prop.load(fr);
        System.out.println(prop);
    }
    private static void mystore() throws IOException {
        Properties prop = new Properties();
        prop.setProperty("0001","林青霞");
        prop.setProperty("0002","张曼玉");
        prop.setProperty("0003","王祖贤");
        FileWriter fw = new FileWriter("I:java.txt");
        //store(fw,comments)comments是说明内容
        prop.store(fw,"你好呀fjoewijgfeiorgfej");
        fw.close();
        System.out.println(prop);
    }
}

### Spring Boot 中 `application.yml` 和 `.properties` 的区别与使用场景 #### 配置文件概述 在 Spring Boot 应用程序中,开发者可以利用两种主要的配置文件来定义应用的行为和环境参数:`application.properties` 和 `application.yml`。这两种文件都存储在项目的 `src/main/resources` 目录下,并支持多种配置选项。 #### 文件格式对比 1. **语法结构** - `application.properties` 使用的是简单的键值对形式,适合表达扁平化的数据结构[^3]。 ```properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/testdb spring.datasource.username=root spring.datasource.password=adminpassword ``` - `application.yml` 则采用 YAML 格式的嵌套结构,更适合表示层次化或分组的数据[^1]。 ```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/testdb username: root password: adminpassword ``` 2. **可读性和维护性** - 对于小型项目或者简单配置需求,`.properties` 更加直观易懂,尤其对于不熟悉 YAML 的开发人员来说更容易上手。 - 如果涉及复杂的多层配置项,则 `application.yml` 提供更清晰的视觉效果以及更好的逻辑分组能力。 3. **灵活性和支持功能** - YAML 支持数组列表、对象映射等功能,在处理复杂数据模型时更加灵活。 ```yaml myapp: features: enabled: true list: - featureA - featureB ``` - Properties 文件则通过特定前缀实现类似的集合操作,但相对繁琐一些。 ```properties myapp.features.enabled=true myapp.features.list[0]=featureA myapp.features.list[1]=featureB ``` 4. **错误敏感度** - YAML 是一种严格解析的语言,任何缩进上的失误都会导致加载失败;而 properties 文件对此类问题较为宽容[^2]。 5. **工具链兼容性** - 大部分 IDE 或编辑器都能很好地支持两者高亮显示及自动补全特性,不过某些插件可能针对其中某一方做了更多优化。 #### 推荐使用的场景分析 - 当团队成员普遍缺乏 YAML 经验或是偏好传统方式时可以选择 `.properties`; - 若追求代码整洁度并需频繁调整深层次属性关系的话推荐选用 `yml` 方案。 ```java // 示例 Java Bean 自动注入配置值 @Component public class DataSourceConfig { @Value("${spring.datasource.url}") private String dbUrl; public void printDbInfo() { System.out.println("Database URL is set to: " + dbUrl); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值