SpringBoot配置文件properties和yml的实现

下面是关于SpringBoot配置文件(properties和yml)的实现攻略。

在SpringBoot应用中,配置文件(properties或yml)主要用于配置应用程序的参数。SpringBoot的默认配置文件位置是 “/src/main/resources/application.properties” 或“/src/main/resources/application.yml”。以下是详细的配置方法:

1. properties文件配置

在properties中,键和值之间使用等号(=)进行分隔,可以看下面的示例代码:

server.port=8080
server.servlet.context-path=/myapp
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root123

注意,在使用SpringBoot时,可以使用{“}和${}占位符。例如:

server.host=${host:localhost}

这里的表达式 ${host:localhost} 会首先尝试从配置文件中读取“host”参数,如果找不到该参数,则默认使用“localhost”作为主机名

2. yml文件配置

在yml文件中,使用缩进代替等号分隔键和值,使用冒号分隔键和值。以下是一个示例的代码:

server:
port: 8080
servlet:
context-path: /myapp
spring:
datasource:
url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root123

此外,还可以在yml文件中使用列表和嵌套对象的方式组织数据。例如:

my:
team:
- name: Tom
age: 20
- name: Mary
age: 22

这里的数据是一个“my.team”列表,其中包含两个对象。每个对象都有一个“name”属性和一个“age”属性。

3. 加载及应用

Spring Boot会自动读取默认的配置文件“application.properties”或“application.yml”,不需要任何其他配置。如果要加载其他配置文件,可以通过在命令行上使用--spring.config.name或--spring.config.location参数来指定。例如:

java -jar myproject.jar --spring.config.name=myapp --spring.config.location=classpath:/myapp.yaml,/yourpath/myapp.yaml

在SpringBoot应用中,可以通过@Value注解或@ConfigurationProperties注解来获取配置文件中的值。例如,以下示例显示了如何使用@ConfigurationProperties注解从配置文件中加载jdbc相关的属性。

4. 示例

4.1 前置条件

首先,新建一个SpringBoot的Demo项目,并引入Maven依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>

4.2 使用properties文件

在“/src/main/resources”目录下新建“application.properties”文件,并添加以下内容:

# 设置服务器端口
server.port=8080

# 设置Servlet上下文路径
server.servlet.context-path=/myapp

# 设置JDBC连接池
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root123

Java代码中使用@Value注解读取配置文件中的属性,如下所示:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class AppConfig {

    @Value("${server.port}")
    private String port;

    @Value("${server.servlet.context-path}")
    private String contextPath;

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

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

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

    // getter & setter
}

只需将以上代码添加到应用程序中,即可使用@Value注解从配置文件中获取属性。

4.3 使用yml文件

在“/src/main/resources”目录下新建“application.yml”文件,并添加以下内容:

server:
  port: 8080
  servlet:
    context-path: /myapp
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root123

在Java代码中使用@ConfigurationProperties注解读取配置文件中的属性,如下所示:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties {

    private String url;
    private String username;
    private String password;

    // getter & setter
}

只需将以上代码添加到应用程序中,即可使用@ConfigurationProperties注解从配置文件中获取属性。

至此,SpringBoot应用程序中使用properties和yml文件进行配置的方法已经介绍完了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot配置文件properties和yml的实现 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 通过Java实现添加或删除PDF中的附件

    这里介绍通过Java实现添加或删除PDF中的附件的完整攻略: 1. 添加附件 1.1 引入相关库 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache…

    Java 2023年5月19日
    00
  • JSP指令元素(page指令/include指令/taglib指令)复习整理

    JSP指令元素是用于指定JSP页面的配置信息,包括页面的编码方式、引入的Java类库和定义自定义标签库等。常见的JSP指令元素包括page指令、include指令和taglib指令。 page指令元素 page指令元素是最常用的JSP指令元素之一,用于指定JSP页面的各种配置信息,它通常包含在JSP页面的头部位置,并以%@开&#…

    Java 2023年6月15日
    00
  • 解决Tomcat启动失败:严重 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException 初始化组件失败

    当我们使用Tomcat作为Web服务器时,有时会在启动过程中遇到“初始化组件失败”的错误提示,通常会伴随着“严重 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException”这样的堆栈信息。这种问题的出现一般都是由于我们的应用程序存在一些不兼容、缺失或者错误的依赖库,或者是Tom…

    Java 2023年5月19日
    00
  • 如何避免内存泄漏?

    以下是关于如何避免内存泄漏的完整使用攻略: 什么是内存泄漏? 内存泄漏是指在程序运行过程中,分配的内存空间没有被及时释放,导致内存空间的浪费和程序运行速度的下降。内存泄漏是一种常见的程序错误,如果不及时处理,会导致程序崩溃或者系统崩溃。 如何避免内存泄漏? 为了避免内存泄漏,需要注意以下几点: 1. 及时释放内存 在程序中,如果分配了内存空间,就需要在不需要…

    Java 2023年5月12日
    00
  • Spring AOP日志框架实现过程图解

    下面是关于“Spring AOP日志框架实现过程图解”的完整攻略,包含两个示例说明。 Spring AOP日志框架实现过程图解 Spring AOP(Aspect Oriented Programming)是一种面向切面编程的技术,它可以在不修改原有代码情况下,对系统进行横向切割,实现诸如权限管理、数据校验、操作日志等功能。本文将介绍如何使用Spring A…

    Java 2023年5月17日
    00
  • Java8中使用流方式查询数据库的方法

    使用流方式查询数据库是Java8中比较常用的操作。以下是一个完整的攻略: 步骤1:引入依赖 在项目的pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter…

    Java 2023年5月20日
    00
  • Java GUI实现学生成绩管理系统

    作为Java GUI实现学生成绩管理系统的作者,以下是详细的攻略: 1. 学习Java GUI 首先需要熟悉Java GUI相关的知识,包括Swing和AWT等基础知识。可以通过在线课程、教程和书籍等途径来学习。 2. 设计学生成绩管理系统 在学习了Java GUI基础知识之后,开始设计学生成绩管理系统。首先需要确定系统的功能和界面设计,包括成绩录入、成绩查…

    Java 2023年5月24日
    00
  • Java中switch的三种用法方式小结

    下面是Java中switch的三种用法方式小结的详细讲解: 标准的switch语句 switch (expression) { case value1: // 如果expression的值等于value1,则执行此处代码 break; case value2: // 如果expression的值等于value2,则执行此处代码 break; default:…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部