SpringBoot读取properties文件配置项过程解析

SpringBoot读取properties文件配置项过程解析

在SpringBoot中,我们可以通过 .properties 文件来配置应用的相关参数,这些配置项可以用来设置一些基本的参数,比如应用所使用的数据库信息、日志级别、端口号等等。

配置文件位置

在SpringBoot应用程序中,配置文件的位置默认情况下是在 src/main/resources 目录下,如果需要自定义配置文件的位置,可以通过 spring.config.location 来指定,多个配置文件之间可以使用逗号分隔。

存储配置项

src/main/resources 下可以创建一个名为 application.properties 的文件,在这个文件中,我们可以定义一些需要被应用程序读取的配置项,例如:

# 设置应用的端口号
server.port=8080

# 设置数据库相关信息
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# 设置日志级别
logging.level.org.springframework=info
logging.file=myapp.log

读取配置项

在SpringBoot应用程序中,可以通过将 @Value 注解添加到需要使用的变量上来获取配置项的值。

示例1:获取应用的端口号

@RestController
public class HelloController {
    @Value("${server.port}")
    private String port;

    @GetMapping("/")
    public String hello() {
        return "Hello, the application is running on port " + port;
    }
}

示例2:获取数据库URL

@Service
public class MyClassService {
    @Value("${spring.datasource.url}")
    private String dbUrl;

    public void doSomething() {
        // Use dbUrl here
    }
}

通过 @Value 注解获取配置项的值时,使用 ${property.name} 来指定需要读取的配置项,例如 ${server.port}${spring.datasource.url}

另外,还可以在应用程序中通过 Environment 对象来获取配置项的值,代码示例如下:

@SpringBootApplication
public class Application implements CommandLineRunner {
    @Autowired
    private Environment environment;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        System.out.println("server.port: " + environment.getProperty("server.port"));
        System.out.println("spring.datasource.url: " + environment.getProperty("spring.datasource.url"));
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot读取properties文件配置项过程解析 - Python技术站

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

相关文章

  • AngularJS ui-router (嵌套路由)实例

    AngularJS ui-router (嵌套路由)实例攻略 简介 AngularJS是一个流行的JavaScript框架,用于构建单页应用程序。ui-router是AngularJS的一个扩展模块,用于管理应用程序的路由。嵌套路由是ui-router的一个重要特性,允许我们在应用程序中创建嵌套的视图和路由层次结构。 在本攻略中,我们将详细讲解如何使用Ang…

    other 2023年7月28日
    00
  • MySQL制作具有千万条测试数据的测试库的方法

    以下是使用MySQL制作具有千万条测试数据的测试库的完整攻略: 步骤一:创建测试数据库和表 在MySQL中创建一个新的数据库,用于存储测试数据。 在该数据库中创建一个新的表,用于存储测试数据。例如,创建一个名为users的表,包含id、name和email字段。 示例代码: CREATE DATABASE test_db; USE test_db; CREA…

    other 2023年10月16日
    00
  • uniapp开发小程序的开发规范总结

    UniApp开发小程序的开发规范总结攻略 1. 项目结构规范 将项目文件按照功能模块进行组织,每个模块包含页面、组件、样式和逻辑代码。 使用合理的命名规范,包括文件名、变量名和函数名,以提高代码的可读性和维护性。 遵循一致的文件命名风格,例如使用小写字母、短横线分隔单词等。 2. 页面规范 每个页面应该有一个独立的文件夹,包含页面的逻辑代码、样式和模板。 页…

    other 2023年9月7日
    00
  • Matlab实现获取文件夹下所有指定后缀的文件

    Sure! Here is a step-by-step guide on how to implement a MATLAB code to retrieve all files with a specific file extension in a folder: First, you need to define the folder path whe…

    other 2023年8月5日
    00
  • 不升级都不行 Windows 10 Build 10074版下载地址(32位/64位)

    不升级都不行 Windows 10 Build 10074版下载地址(32位/64位)攻略 Windows 10 Build 10074是Windows 10操作系统的一个早期版本,如果你想尝试这个版本,下面是一个详细的攻略,包含了下载地址和两个示例说明。 下载地址 你可以从以下链接下载Windows 10 Build 10074的32位和64位版本: 32…

    other 2023年8月4日
    00
  • linux用户与文件基础命令介绍(1)

    以下是“Linux用户与文件基础命令介绍(1)”的完整攻略。 简介 Linux用户与文件基础命令介绍(1)是Linux系统入门中的重要部分。学习本章,需要对Linux系统有一定的基础知识和操作经验。本章主要讲解Linux中的用户管理和文件管理。 用户管理 在Linux系统中,为了方便不同用户对系统资源进行管理和访问,系统管理员可以通过用户管理功能创建多个用户…

    other 2023年6月26日
    00
  • css新单位fr

    CSS新单位fr的完整攻略 CSS新单位fr是CSS Grid Layout中的一种新单位,它表示可用空间的一部分。本文将提供一个完整攻略,包括fr定义、使用方法、示例说明等。 1. 定义 fr是CSS Grid中的一种新单位,它表示可空间的一分。fr是“fraction”的缩写,意为“分”。一个fr表示可用空间的一部分,例如,如果一个容器有3个,另一个容器…

    other 2023年5月8日
    00
  • 电脑提示内存不足的解决方法总汇

    电脑提示内存不足的解决方法总汇 1. 了解内存不足的原因 当电脑提示内存不足时,通常是因为系统运行的程序和任务所需的内存超过了可用的物理内存。这可能导致电脑运行缓慢或出现崩溃的情况。解决内存不足问题的方法可以分为以下几个方面。 2. 关闭不必要的程序和任务 首先,我们可以通过关闭不必要的程序和任务来释放内存。在任务栏中右键单击不需要的程序图标,选择关闭或退出…

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