Spring spring

Spring中文网站 > Spring Boot > Spring Boot怎么设置全局变量 Spring Boot怎么设置相对路径
Spring Boot怎么设置全局变量 Spring Boot怎么设置相对路径
发布时间:2026/10/30 11:33:57

品牌型号:台式主机

系统:Windows11

软件版本:Spring 5.3.7

我们在使用Spring Boot做开发的时候,经常会碰到多个类都需要共用同一个变量,或者是程序在运行的时候需要读取某个文件,但文件路径在不同环境下又有所区别。这时候,我们就要考虑如何设置全局变量,以及怎样正确使用相对路径。下面就给大家介绍一下Spring Boot怎么设置全局变量,Spring Boot怎么设置相对路径的相关内容。

一、Spring Boot怎么设置全局变量

在Spring Boot项目中,我们要设置全局变量有很多方式,如果是多个类需要共用的固定值,我们可以定义一个公共常量类;如果是数据库地址、文件目录等需要根据环境调整的参数,我们建议放在配置文件中统一管理会更合适。

我们就先来讲讲使用公共常量类,对于一个项目经常要用到的固定值,我们可以创建一个常量类,通过public static final定义常量,其他类直接通过类名访问。

创建常量类
图1:创建常量类

使用的时候我们可以直接调用这个案例中的GlobalConstants.APP_NAME常量,不需要创建对象,这种方式适合存放固定不变的配置值,但不适合需要动态修改的参数。

如果变量需要在不同环境中使用不同的值,也就是刚刚我们说的需要动态修改的参数,那我们就可以在application.properties文件中进行配置,

在配置文件中进行配置
图2:在配置文件中进行配置

然后我们如果要使用的话,就去代码中使用@Value注解读取配置,这样就能在Spring管理的Bean中使用配置值,而且修改配置时,我们不需要再去代码中查找和替换了,维护起来会更加方便些。

使用@Value注解读取配置
图3:使用@Value注解读取配置

但是要注意@Value通常用于Spring容器管理的对象中,如果类是通过new关键字手动创建的,Spring不会自动为其注入配置值。

二、Spring Boot怎么设置相对路径

我们在Spring Boot项目中,设置文件路径需要结合实际场景来处理,例如项目需要读取本地文件、保存上传内容,或者是加载某个目录下的资源,都可能会用到相对路径。

如果我们只是想在配置文件中指定一个文件目录,可以在application.properties中进行设置,然后通过@Value这个注解来获取这个配置值。

在配置文件中指定目录
图4:在配置文件中指定目录

但是,我们在图4这个案例中的./upload/并不是相对于项目源代码目录,而是相对于Java程序的当前工作目录。程序从不同目录启动,对应的文件位置会发生变化,所以如果我们要在Java代码中获取当前工作目录,可以使用System.getProperty("user.dir")方法。

获取当前工作目录
图5:获取当前工作目录

user.dir通常表示的是启动Java程序时的工作目录,我们可以用它来拼接相对路径:

拼接相对路径
图6:拼接相对路径

如果我们要读取src/main/resources目录下的配置文件或其他资源,不建议直接使用相对路径访问。项目打包成JAR后,资源通常位于JAR包内部,可以通过Spring的ClassPathResource或ResourceLoader加载。在实际开发中,我们需要区分文件是存放在项目外部还是打包在应用内部,防止项目部署后出现文件找不到的问题。

以上就是Spring Boot怎么设置全局变量,Spring Boot怎么设置相对路径的全部内容了。在Spring Boot项目中,对于固定不变的值,我们可以通过公共常量类统一管理,如果是需要根据运行环境调整的参数,可以放在application.properties配置文件中然后用@Value注解读取。我们在设置相对路径时,需要注意它通常是相对于程序的当前工作目录,而不是项目根目录,如果需要读取resources目录中的文件,建议使用Spring提供的资源加载方式。

 

180 1563 6924