Spring Boot中的Properties的使用详解

SpringBoot中的Properties的使用详解

什么是Properties

PropertiesJava中处理属性文件的一个类。在SpringBoot中,我们可以使用application.propertiesapplication.yml作为配置文件,来替代传统的XML配置文件,来配置服务器的相关信息。

application.properties

application.properties是SpringBoot项目中默认的配置文件,所有的配置信息都可以在此文件中进行配置。以下是一些常用的属性配置示例:

  1. 配置服务器端口号:
# 配置服务器端口号, 默认端口是8080
server.port=8081
  1. 配置应用程序上下文路径:
# 配置应用程序上下文路径, 默认值是/
server.servlet.context-path=/example
  1. 配置数据库连接信息:
# 配置数据库连接信息
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root

application.yml

application.properties类似,application.yml也是SpringBoot项目中常用的配置文件。YAML语法是一种简明的标记语言,在SpringBoot中,使用YAML作为配置文件,配置信息更加清晰明了。以下是一些常用的属性配置示例:

  1. 利用YAML配置嵌套属性:
# 配置主机信息
server:
  port: 8082
  servlet:
    context-path: /example
# 配置数据库连接信息
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root
  1. 利用YAML配置数组:
my:
  servers:
    - dev.example.com
    - staging.example.com
    - production.example.com

示例一

以下示例是一个基于SpringBoot的简单Web应用程序,使用的是application.properties配置文件。此应用程序采用Thymeleaf模板引擎,展示了一些简单的HTML页面。

# 配置服务器端口号
server.port=8083

# 配置应用程序上下文路径
server.servlet.context-path=/demo

# 配置Thymeleaf模板目录
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html

使用的Controller代码如下:

@Controller
public class IndexController {

    @GetMapping("/")
    public String index(){
        return "index";
    }

}

Index页面的代码如下:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>SpringBoot index page</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

在浏览器中访问http://localhost:8083/demo/,即可看到Hello World页面。

示例二

以下示例是基于SpringBoot的简单Web应用程序,使用的是application.yml配置文件。此应用程序展示了如何在SpringBoot中配置中间件(如Redis)。

# 配置Redis服务器信息
spring:
  redis:
    host: localhost
    port: 6379
    password: root

使用的Service代码如下:

@Service
public class RedisService {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    public void save(String key, String value){
        stringRedisTemplate.opsForValue().set(key, value);
    }

    public String get(String key){
        return stringRedisTemplate.opsForValue().get(key);
    }
}

在Controller中调用这个Service:

@RestController
@RequestMapping("/redis")
public class RedisController {

    @Autowired
    private RedisService redisService;

    @GetMapping("/{key}/{value}")
    public String save(@PathVariable("key") String key, @PathVariable("value") String value){
        redisService.save(key, value);
        return "Saved";
    }

    @GetMapping("/{key}")
    public String get(@PathVariable("key") String key){
        return redisService.get(key);
    }
}

使用请求http://localhost:8080/redis/name/hemingway保存一个名为name,值为hemingway的String对象到Redis中,使用请求http://localhost:8080/redis/name获取Redis中存储的值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot中的Properties的使用详解 - Python技术站

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

相关文章

  • struts2实现多文件上传的示例代码

    下面是实现Struts2多文件上传的完整攻略,包括两个示例。 步骤1:配置web.xml 在web.xml中,配置Struts2的过滤器,以确保Struts2拦截所有请求。以下是示例代码: <filter> <filter-name>struts2</filter-name> <filter-class>org…

    Java 2023年5月20日
    00
  • mybatis中resulthandler的用法

    Mybatis是一款优秀的ORM框架,它能够帮助程序员快速、简单地完成Java对象与关系数据库的互相映射。它提供了各种查询方式,其中一种比较有特色的查询方式就是使用ResultHandler进行分页查询,那么下面将详细介绍Mybatis中Resulthandler的用法。 1. Resulthandler简介 Mybatis中的Resulthandler相当…

    Java 2023年5月20日
    00
  • Java实现FTP批量大文件上传下载篇1

    Java实现FTP批量大文件上传下载篇1攻略 1. FTP简介 FTP (File Transfer Protocol)即文件传输协议,是一个用户间传输文件的标准协议,基于客户端-服务端模式运作,被广泛应用于文件共享、网站更新等领域。FTP协议默认的传输端口是21,支持主动模式和被动模式两种连接方式。 2. 使用Java实现FTP文件上传下载 Java提供了…

    Java 2023年5月19日
    00
  • java关于String.split(“|”)的使用方式

    关于Java中String类的split()方法,当我们使用字符串来表示多个数据时,可以使用该方法按特定分隔符分隔字符串,并将拆分后的字符串返回为一个字符串数组。具体到您提到的使用方式:String.split(“|”),其中的 “|” 表示正则表达式中的“或”操作符,用于匹配多个字符中的任意一个。然而,这种写法需要注意 ‘|’ 在 Java 中是特殊字符,…

    Java 2023年5月27日
    00
  • eclipse+jdk安装以及会遇到的问题及解决方法

    Eclipse+jdk安装指南 1. 下载并安装JDK 首先需要在官网上下载JDK安装包, 下载网址为:Oracle官网。根据系统的位数进行选择下载,下载完成之后,打开安装包,按照提示进行安装,安装成功后需配置环境变量。 操作步骤如下: 在系统变量中新建JAVA_HOME,指向JDK的安装路径,例如:JAVA_HOME=C:\Program Files\Ja…

    Java 2023年5月24日
    00
  • 使用jmx exporter采集kafka指标示例详解

    以下是关于使用jmx exporter采集kafka指标的完整攻略: 什么是 JMX Exporter? JMX Exporter 是一个自动化采集系统监控指标并将其解析为 Prometheus 指标格式的工具。它允许用户将 JMX 暴露出来的数据转换成 Prometheus 支持的文本格式。 使用 JMX Exporter 采集 Kafka 指标 以下是使…

    Java 2023年5月20日
    00
  • Java多线程之显示锁和内置锁总结详解

    Java多线程之显示锁和内置锁总结详解 前言 随着现代计算机的发展,CPU的速度和核心数量逐渐增加,让多线程编程变得越来越重要。Java作为一门支持多线程的语言,在多线程编程方面也提供了一系列的API和机制。本文将重点介绍Java中的两种锁:显示锁和内置锁,并对它们进行详细分析和对比。 什么是锁? 在多线程编程中,为了保证共享资源的正确访问,我们经常需要对这…

    Java 2023年5月19日
    00
  • JavaSpringBoot报错“NoClassDefFoundError”的原因和处理方法

    当使用Java的Spring Boot框架时,可能会遇到“NoClassDefFoundError”错误。这个错误通常是由以下原因之一引起的: 缺少依赖项:如果您的应用程序缺少依赖项,则可能会出现此错误。在这种情况下,需要确保所有依赖项都已正确添加。 类路径错误:如果类路径错误,则可能会出现此错误。在这种情况下,需要确保类路径正确。 以下两个实例: 例 1 …

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