SpringBoot 将数据库信息 提取成配置文件

本文介绍了一种将数据库连接信息从代码中分离出来的方法,通过使用不同的配置文件(如dev.properties和prod.properties),并借助Maven插件实现自动读取,以此提高项目的灵活性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在开发的时候往往将数据库链接信息写死在yml中,例如

spring:
  datasource:
    driver-class-name: oracle.jdbc.OracleDriver
    password: abc
    username: abc
    url: jdbc:oracle:thin:@//localhost:1521/pdb1

但是如此以来,大大的降低了代码的灵活性,换一次服务器都得更改该信息,如果是共同开发,那么这些私密信息上传到服务器也会带来诸多不变,下面来分享一下将这些信息提取成配置文件。


1、在项目目录下,pom.xml 同级目录中,新增 dev.properties 文件, prod.properties 文件

 

2、将数据库链接信息填写入内

jdbc.url=jdbc:oracle:thin:@192.168.0.39:1521:orcl
jdbc.password=coamc_irm
jdbc.username=coamc_irm

3、配置 pom.xml 文件,添加mvn插件

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0.0</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
            <configuration>
              <files>
                <file>dev.properties</file>
              </files>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>prod</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0.0</version>
            <executions>
              <execution>
                <phase>initialize</phase>
                <goals>
                  <goal>read-project-properties</goal>
                </goals>
                <configuration>
                  <files>
                    <file>prod.properties</file>
                  </files>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

4、修改 yml 文件

spring:
  datasource:
    driver-class-name: oracle.jdbc.OracleDriver
    username: @jdbc.username@
    password: @jdbc.password@
    url: @jdbc.url@

5、打包

使用命令  mvn package -DskipTests=true   打包项目,默认读取 dev 的配置,在开发中可以使用

使用命令  mvn package -DskipTests=true -P prod,debug 打包项目,读取 prod 的配置,在生产环境中可以使用

6、将配置有数据库链接信息的文件加入 .gitignore 文件中,以免将私密信息上传至服务器

### sensitive ###
dev.properties
prod.properties

7、最后更新read文档

# 安装部署

1. 更新代码至最新
2. 复制 example.properties 文件更名为 prod.properties 
3. 填写 prod.properties 对应项
4. mvn clean package -DskipTests=true -P prod,debug
5. java -jar 项目名称

## 备注
1. 检查端口是否开放
2. 检查防火墙

进阶篇

java如何读取外部内部 properties 内容

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值