SpringBoot 项目打成 jar后加载外部配置文件的操作方法

yizhihongxing

为了让解释更加清晰,我将分为以下几个步骤来讲解Spring Boot项目打成jar包后加载外部配置文件的操作方法。

1. 添加外部配置文件

在项目的根目录下,添加配置文件,如application.properties或application.yml等。需要注意的是,如果是yml文件,必须注意yml的缩进格式,否则会导致读取错误。

例如,我们添加一个名为config.properties的配置文件,包含如下配置项:

database.url=jdbc:mysql://localhost:3306/test
database.username=root
database.password=123456

2. 修改pom.xml文件

修改pom.xml文件,增加外部配置文件的依赖。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!-- 外部配置文件依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

3. 创建 Config

创建一个@Configuration的类,用于读取并注入外部配置文件,如下所示:

@Configuration
@PropertySource("classpath:config.properties") //标注读取配置文件
public class Config {

    @Value("${database.url}")
    private String url;

    @Value("${database.username}")
    private String username;

    @Value("${database.password}")
    private String password;

    //getter and setter省略...
}

4. 打包项目

点击IDEA的maven选项卡中的Package即可进行项目打包。在路径 /target/ 中找到项目打包后的 .jar文件。

5. 在命令行中运行jar文件

在控制台中输入以下命令来启动项目,填写项目名称和jar包名称。

java -jar 项目名称.jar

运行成功后,可以看到在控制台中输出了加载配置文件的相关日志信息。

示例说明

示例1:Spring Boot项目加入Redis的配置

在resources目录下创建application.yml或者application.properties,例如添加以下Redis的配置:

spring.redis.host=localhost
spring.redis.port=6379

然后再创建一个Redis配置类,代码如下:

@Configuration
@ConfigurationProperties(prefix = "spring.redis")
public class RedisConfig {
    private String host;
    private int port;

    //getter and setter省略...
}

通过@ConfigurationProperties注解,可以使用前缀名来不必一个个去写变量。比如这里设置了spring.redis,那么在属性上面直接写port即可。

示例2:Spring Boot项目加入Mysql数据库的配置

在resources目录下同样也是创建application.yml或者application.properties文件,但是这里以yml格式为例。

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 123456

然后在创建一个Mysql配置类,同样是通过@ConfigurationProperties注解,代码如下:

@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class MysqlConfig {
    private String url;
    private String username;
    private String password;

    //getter and setter省略...
}

注入之后,在代码中就可以直接使用这些配置的变量了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot 项目打成 jar后加载外部配置文件的操作方法 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • Spring Cache+Redis缓存数据的实现示例

    以下是关于Spring Cache+Redis缓存数据的实现示例的完整攻略,包含两个示例说明: 1. 添加依赖 首先,您需要在您的Spring Boot项目中添加以下依赖,以便使用Spring Cache和Redis: <dependency> <groupId>org.springframework.boot</groupId…

    other 2023年10月19日
    00
  • iPhone6空间越来越小怎么办 空间清理技巧

    iPhone 6 空间清理技巧攻略 如果你的 iPhone 6 的可用空间越来越小,以下是一些空间清理技巧,可以帮助你释放存储空间并优化设备性能。 1. 删除不需要的应用程序和游戏 应用程序和游戏通常占据大量的存储空间。检查你的 iPhone 6 上安装的应用程序和游戏,并删除你不再使用或不需要的。以下是一个示例: 打开 iPhone 主屏幕,长按不需要的应…

    other 2023年8月2日
    00
  • Win10禁用服务后如何重启?Win10重启禁用服务的方法

    Win10禁用服务后如何重启?Win10重启禁用服务的方法 在Win10中,我们可以通过禁用系统服务来提高性能或节省系统资源。但有时候当我们禁用一些必要的服务时,可能会出现一些问题,此时我们需要重新启用相应的服务来解决问题。下面是Win10禁用服务后如何重启以及Win10重启禁用服务的方法。 1. Win10禁用服务后如何重启? 如果您禁用了某个服务,但现在…

    other 2023年6月27日
    00
  • Spring多种加载Bean方式解析

    Spring多种加载Bean方式解析 Spring提供多种方式来加载Bean,包括XML配置、JavaConfig配置以及注解配置等。这些Bean的加载方式可以根据项目需求选择最合适的方式。 XML文件配置 XML配置是Spring最初的加载Bean方式,也是Spring最基本的配置方式之一。通过在XML文件中配置Bean,然后使用classpath路径或文…

    other 2023年6月27日
    00
  • Python代码实现双链表

    Python代码实现双链表 1. 双链表概述 双链表(doubly linked list)是一种常见的链式数据结构,每个节点有两个指针,一个指向前一个节点,一个指向后一个节点。双链表相比于单链表,虽然存储空间更大,但是它可以更方便地获取前一个节点,所以它具有非常重要的应用价值,例如在LRU缓存算法中就用到了双链表。 2. 双链表的实现 双链表的实现可以考虑…

    other 2023年6月27日
    00
  • 通过对服务器端特性的配置加强php的安全

    通过对服务器端特性的配置可以加强 PHP 应用程序的安全性,同时减少潜在的安全漏洞。以下是针对此问题的完整攻略: 第一步:使用最新版本的 PHP 保持应用程序和服务器上安装的 PHP 版本最新,以避免已知漏洞。同时,也需要及时更新PHP所依赖的库文件。 第二步:限制 PHP 功能 禁止所有危险函数,如 eval()、system()、passthru() 等…

    other 2023年6月27日
    00
  • win7右键菜单找不到新建BMP图像的快捷方式怎么办?

    当你在Win7系统中右键菜单找不到新建BMP图像的快捷方式时,可以按照以下步骤排查和解决: 检查注册表是否有异常 Win7中菜单的显示是通过注册表来配置的。如果菜单条目不存在于注册表中,就不会显示在右键菜单中。 首先,打开注册表编辑器:Win+R键打开“运行”窗口,输入“regedit”,按回车键。 然后,进入注册表路径:HKEY_CLASSES_ROOT.…

    other 2023年6月27日
    00
  • Android rom解包打包工具

    Android ROM 解包打包工具是用于解包和打包 Android 系统镜像的工具,常见的有以下几种工具: Android Kitchen Android Image Kitchen ROM Toolbox Pro 可可厨房 瑞星Android大师 这里我们以 Android Kitchen 为例,来讲解如何使用 Android ROM 解包打包工具。 安…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部