从配置文件读取Java SE工程中的配置信息

在Java SE工程中,通常会使用配置文件来存储一些固定的配置信息,如数据库连接信息、接口地址等。通过读取配置文件,可以方便地对这些信息进行管理和修改。

问题描述

假设我们有一个Java SE工程,需要从配置文件中读取数据库连接信息,包括数据库URL、用户名和密码。我们希望通过读取配置文件的方式,动态地获取这些信息,并连接到数据库。

解决方案

1. 创建配置文件

首先,我们需要创建一个配置文件,用来存储数据库连接信息。我们可以使用.properties格式的文件,如db.properties,内容如下:

db.url=jdbc:mysql://localhost:3306/mydatabase
db.username=root
db.password=123456

2. 读取配置文件

接下来,我们可以编写一个工具类来读取配置文件中的信息。我们可以使用Properties类来实现:

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class ConfigReader {

    private Properties properties;

    public ConfigReader() {
        properties = new Properties();
        try {
            properties.load(new FileInputStream("db.properties"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public String getProperty(String key) {
        return properties.getProperty(key);
    }

    public static void main(String[] args) {
        ConfigReader configReader = new ConfigReader();
        String url = configReader.getProperty("db.url");
        String username = configReader.getProperty("db.username");
        String password = configReader.getProperty("db.password");

        System.out.println("Database URL: " + url);
        System.out.println("Username: " + username);
        System.out.println("Password: " + password);
    }
}

3. 使用配置信息

最后,我们可以在主程序中调用ConfigReader类来获取配置信息,并使用这些信息连接到数据库:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Main {

    public static void main(String[] args) {
        ConfigReader configReader = new ConfigReader();
        String url = configReader.getProperty("db.url");
        String username = configReader.getProperty("db.username");
        String password = configReader.getProperty("db.password");

        try {
            Connection con = DriverManager.getConnection(url, username, password);
            System.out.println("Successfully connected to database");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

状态图

stateDiagram
    [*] --> ConfigReader
    ConfigReader --> Ready
    Ready --> [*]

序列图

sequenceDiagram
    participant Main
    participant ConfigReader

    Main ->> ConfigReader: 创建ConfigReader实例
    ConfigReader ->> ConfigReader: 加载配置文件
    Main ->> ConfigReader: 获取数据库连接信息
    ConfigReader ->> Main: 返回数据库连接信息
    Main ->> Main: 连接到数据库

通过以上步骤,我们可以实现从配置文件中读取Java SE工程中的配置信息,实现了配置和业务逻辑的分禨,提高了代码的复用性和可维护性。同时,我们也可以通过修改配置文件来动态地修改数据库连接信息,而不需要修改源代码。这样的设计方式更加灵活和方便。