Java 配置文件的使用(附代码详细讲解)

Hi i,m JinXiang


⭐ 前言 ⭐

本篇文章主要介绍Java在配置文件中的试用,在idea里MySql数据库连接信息为什么要放在配置文件中?怎么读取配置文件信息?以及部分理论知识


欢迎点赞  收藏 ⭐留言评论 私信必回哟

博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言


目录

⭐什么是配置文件?

⭐使用配置文件的优点

1、 灵活性

2、 安全性

3、 维护性

4、 便于管理

⭐使用配置文件的4个步骤

1、创建配置文件:

2、读取配置文件:

3、解析配置信息:

4、使用配置信息:

⭐读取配置文件

在Java中使用Properties类读取配置文件信息:

使用默认的配置读取数据库连接池对象


⭐什么是配置文件?

配置文件是一个保存应用程序配置信息的文件。它通常以文本形式存储,包含一个或多个键值对,每个键值对表示一个配置属性。配置文件可以用于保存各种类型的配置信息,例如数据库连接信息、日志级别、缓存配置等。

常见的配置文件格式包括:

  • - Properties:键值对格式,以`.properties`为后缀。
  • - YAML:层级结构,以`.yml`或`.yaml`为后缀。
  • - XML:树形结构,以`.xml`为后缀。
  • - JSON:键值对格式,以`.json`为后缀。

配置文件的好处是可以让应用程序的各种配置信息与程序逻辑分离,便于管理和修改,也可以避免对代码的更改从而减少风险。同时,修改配置文件也不需要重新编译代码,可以直接在运行时生效。

⭐使用配置文件的优点

在IDEA中,MySQL数据库连接信息通常也会放在配置文件中,主要有以下几个原因:

1、 灵活性:

  • 将数据库连接信息放在配置文件中,可以使得应用程序的部署更加灵活。例如,在不同的环境中使用不同的数据库,只需要修改相应的配置文件即可。

2、 安全性:

  • 将数据库连接信息放在配置文件中,可以减少应用程序代码中出现敏感信息的机会,提高了系统的安全性。

3、 维护性

  • 将数据库连接信息放在配置文件中,可以方便地进行维护和管理,例如修改密码、调整连接池大小等。

4、 便于管理:

  • 将数据库连接信息放在配置文件中,可以方便地进行版本控制和备份,同时也可以方便地进行管理和监控。

总之,将数据库连接信息放在配置文件中有很多好处,可以提高应用程序的灵活性、安全性和可维护性,同时也可以方便地进行管理和监控。

⭐使用配置文件的4个步骤

使用配置文件的步骤如下:

1、创建配置文件:

根据需要选择相应的配置文件格式,创建一个包含所需配置信息的文件。

2、读取配置文件:

在应用程序中编写代码读取配置文件。读取配置文件的方式取决于所使用的编程语言和配置文件格式。以 Java 为例,使用 `java.util.Properties` 类读取 Properties 格式的配置文件,使用第三方库(如 SnakeYAML)读取 YAML 格式的配置文件,使用 XML 解析器读取 XML 格式的配置文件,使用 JSON 解析器读取 JSON 格式的配置文件等。

3、解析配置信息:

将读取到的配置文件内容解析为程序可以使用的数据结构,如 Map、List、对象等,以便于在程序中使用。

4、使用配置信息:

在程序中使用解析后的配置信息。可以通过读取配置信息的键值对来获取各种配置信息,例如数据库连接信息、日志级别、缓存配置等。在程序需要修改某个配置信息时,只需要修改配置文件,无需修改代码。

下面是一个 Java 读取 Properties 格式配置文件的例子:

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

public class AppConfig {
    private Properties props;

    public AppConfig(String configFile) throws Exception {
        props = new Properties();
        props.load(new FileInputStream(configFile));
    }

    public String getDbUrl() {
        return props.getProperty("db.url");
    }

    public String getDbUser() {
        return props.getProperty("db.user");
    }
    
    // 其他配置信息的读取方法...

    public static void main(String[] args) throws Exception {
        AppConfig config = new AppConfig("config.properties");
        String dbUrl = config.getDbUrl();
        String dbUser = config.getDbUser();
        // 使用配置信息...
    }
}

其中,`config.properties` 是一个 Properties 格式的配置文件,内容如下:

db.url=jdbc:mysql://localhost:3306/mydb
db.user=root
db.password=123456

在 `AppConfig` 类的构造函数中读取配置文件,使用 `get` 方法获取对应配置信息。在程序的其他地方,可以通过创建 `AppConfig` 实例并调用其方法来使用配置信息。

⭐读取配置文件

在Java中使用Properties类读取配置文件信息:

Properties prop = new Properties();
InputStream in = new FileInputStream("config.properties");
prop.load(in);

String dbUrl = prop.getProperty("dbUrl");
String dbUser = prop.getProperty("dbUser");
String dbPassword = prop.getProperty("dbPassword");

在 IDEA 中连接 MySQL 数据库,可以通过在项目中创建一个名为 application.properties 或 application.yml 的配置文件来存储数据库连接信息。具体步骤如下:

  1. 在项目中创建 src/main/resources 目录和 application.properties 或 application.yml 文件(如果已经存在请跳过此步骤);

  2. 打开 application.properties 或 application.yml 文件并添加以下内容,替换其中的信息为你自己的数据库连接信息:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

使用默认的配置读取数据库连接池对象

在 Spring Boot 中,如果你已经在 `application.properties` 或 `application.yml` 中配置了数据源相关的信息,那么 Spring Boot 会自动为你创建一个数据源,并且把它添加到 Spring 上下文中。你可以使用 `@Autowired` 注解自动注入这个数据源对象,然后使用它来获取一个连接对象。示例代码如下:

@RestController
public class UserController {
    @Autowired
    private DataSource dataSource;

    @GetMapping("/users")
    public List getUsers() throws SQLException {
        try (Connection connection = dataSource.getConnection()) {
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
            List users = new ArrayList<>();
            while (resultSet.next()) {
                User user = new User();
                user.setId(resultSet.getInt("id"));
                user.setName(resultSet.getString("name"));
                user.setAge(resultSet.getInt("age"));
                users.add(user);
            }
            return users;
        }
    }
}

在上面的代码中,我们通过 `@Autowired` 注解自动注入了数据源对象,并在 `getUsers()` 方法中使用它来获取一个连接对象。使用 `try-with-resources` 语句来确保连接在使用完毕后正确关闭。然后执行 SQL 查询并将结果封装为 `User` 对象列表并返回。

总结不易,希望uu们不要吝啬亲爱的哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正

你可能感兴趣的:(Java,开发语言,数据库,java,开发语言,数据库)