Hi i,m JinXiang
⭐ 前言 ⭐
本篇文章主要介绍Java在配置文件中的试用,在idea里MySql数据库连接信息为什么要放在配置文件中?怎么读取配置文件信息?以及部分理论知识
欢迎点赞 收藏 ⭐留言评论 私信必回哟
博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言
目录
⭐什么是配置文件?
⭐使用配置文件的优点
1、 灵活性
2、 安全性
3、 维护性
4、 便于管理
⭐使用配置文件的4个步骤
1、创建配置文件:
2、读取配置文件:
3、解析配置信息:
4、使用配置信息:
⭐读取配置文件
在Java中使用Properties类读取配置文件信息:
使用默认的配置读取数据库连接池对象
配置文件是一个保存应用程序配置信息的文件。它通常以文本形式存储,包含一个或多个键值对,每个键值对表示一个配置属性。配置文件可以用于保存各种类型的配置信息,例如数据库连接信息、日志级别、缓存配置等。
常见的配置文件格式包括:
配置文件的好处是可以让应用程序的各种配置信息与程序逻辑分离,便于管理和修改,也可以避免对代码的更改从而减少风险。同时,修改配置文件也不需要重新编译代码,可以直接在运行时生效。
在IDEA中,MySQL数据库连接信息通常也会放在配置文件中,主要有以下几个原因:
总之,将数据库连接信息放在配置文件中有很多好处,可以提高应用程序的灵活性、安全性和可维护性,同时也可以方便地进行管理和监控。
使用配置文件的步骤如下:
根据需要选择相应的配置文件格式,创建一个包含所需配置信息的文件。
在应用程序中编写代码读取配置文件。读取配置文件的方式取决于所使用的编程语言和配置文件格式。以 Java 为例,使用 `java.util.Properties` 类读取 Properties 格式的配置文件,使用第三方库(如 SnakeYAML)读取 YAML 格式的配置文件,使用 XML 解析器读取 XML 格式的配置文件,使用 JSON 解析器读取 JSON 格式的配置文件等。
将读取到的配置文件内容解析为程序可以使用的数据结构,如 Map、List、对象等,以便于在程序中使用。
在程序中使用解析后的配置信息。可以通过读取配置信息的键值对来获取各种配置信息,例如数据库连接信息、日志级别、缓存配置等。在程序需要修改某个配置信息时,只需要修改配置文件,无需修改代码。
下面是一个 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` 实例并调用其方法来使用配置信息。
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
的配置文件来存储数据库连接信息。具体步骤如下:
在项目中创建 src/main/resources
目录和 application.properties
或 application.yml
文件(如果已经存在请跳过此步骤);
打开 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!!如有问题,欢迎评论区批评指正