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日

相关文章

  • 什么是标记-清除算法?

    以下是关于标记-清除算法的详细讲解: 什么是标记-清除算法? 标记-清除算法是一种常见的垃圾回收算法,它的原理是在程序运行过程中,标记所有不再使用的内存空间,然后清除这些内存空间,从而回收内存空间。标记清除算法分为两个阶段:标记阶段和清除阶段。 标记阶段 在标记阶段,垃圾回收器会遍历所有的对象,标记所有不再使用的对象。标记的方式通常是在对象头中添加一个标记位…

    Java 2023年5月12日
    00
  • Spring Boot实现简单的增删改查

    下面是SpringBoot实现简单的增删改查的完整攻略。 1. 环境准备 在开始之前,需要找到一台安装了JDK1.8以上版本的电脑,并确保你已经熟练掌握了Java语言以及Spring Boot框架的基础知识。 首先,需要安装开发工具IDEA和Maven。 在IDEA官网下载并安装IntelliJ IDEA Community版本:https://www.je…

    Java 2023年5月15日
    00
  • Eclipse+Maven构建Hadoop项目的方法步骤

    下面我将详细讲解“Eclipse+Maven构建Hadoop项目的方法步骤”的完整攻略。本攻略分为以下几个步骤: 1. 安装 JDK 和 Eclipse 首先需要安装 JDK 和 Eclipse。建议使用最新版本的 JDK 和 Eclipse。安装过程不再赘述。 2. 安装 Maven Maven 是 Java 的一个构建工具,用于管理项目的依赖关系和构建过…

    Java 2023年5月20日
    00
  • springboot中报错Invalid character found in the request的解决

    针对 “springboot中报错Invalid character found in the request” 这个问题,一般是由于请求参数中含有非法的字符造成的。针对这个问题,可以从以下几个方面进行排查和解决: 确认请求参数格式 首先,我们需要检查请求参数的格式是否符合要求。一般来说,请求参数需要进行URL编码传输。URL编码的规则是将参数中的特殊字符进…

    Java 2023年5月19日
    00
  • 关于在Java中使用预定义类

    在Java中,预定义类是指Java标准库中提前定义好的一组类,它们负责完成一些常见的任务,例如字符串操作、时间日期处理等。使用Java预定义类可以大大简化编程过程,提高代码的可读性和可维护性。下面是在Java中使用预定义类的攻略: 1. 导入预定义类 Java标准库中的预定义类已经被编译成Java API文档,可以直接使用。但是,在使用预定义类之前,需要导入…

    Java 2023年5月26日
    00
  • 详细分析JAVA加解密算法

    详细分析JAVA加解密算法 在JAVA中,常用的加解密算法包括对称加密算法、非对称加密算法和HASH算法。在这里,我们将详细分析这些加解密算法的实现过程以及相关代码示例。 对称加密算法 对称加密算法使用同一个密钥进行加密和解密。其加密过程简单、高效,但密钥的共享是该算法的重要瓶颈。 在JAVA中,常用的对称加密算法包括DES、3DES、AES和Blowfis…

    Java 2023年5月19日
    00
  • Java内存泄漏的原因是什么?

    针对Java内存泄漏原因这一问题,我来详细讲解一下。 什么是Java内存泄漏? 首先,我们需要先了解什么是Java内存泄漏。Java内存泄漏指的是,虽然一些对象已经不再被程序所用,但是Java的垃圾回收器却无法回收这些对象的内存空间。这些没被回收的内存空间被占据,随着时间的推移内存空间将会越来越紧张,最终会导致程序的崩溃。 那么,Java内存泄漏的原因是什么…

    Java 2023年5月11日
    00
  • Java编译器用maven打war包出错解决办法

    下面是详细讲解“Java编译器用maven打war包出错解决办法”的完整攻略。 问题描述 当使用Java编译器用maven打war包时,有时会遇到错误,例如“Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile)…

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