Spring Boot中的Properties的使用详解

yizhihongxing

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日

相关文章

  • mybatis自动填充时间字段示例代码

    为了实现 mybatis 自动填充时间字段的功能,需要在实体类中加入 createTime 和 updateTime 字段,并使用注解 @TableField(fill = FieldFill.INSERT) 标记 createTime 字段,在新增时自动填入当前时间,使用注解 @TableField(fill = FieldFill.INSERT_UPDA…

    Java 2023年5月20日
    00
  • 微信小程序上传文件到阿里OSS教程

    下面是详细的“微信小程序上传文件到阿里OSS教程”,包含以下步骤: 1. 注册阿里云账号 如果还没有阿里云的账号,需要先注册一个账号,注册地址:https://account.aliyun.com/register/register.htm 2. 创建 OSS Bucket 登录阿里云控制台,进入对象存储 OSS 控制台,创建自己需要的 Bucket。具体操…

    Java 2023年5月23日
    00
  • IntelliJ IDEA配置Tomcat(完整版图文教程)

    下面我将详细讲解“IntelliJ IDEA配置Tomcat(完整版图文教程)”,包含完整的流程和两个示例,希望能够帮助您完成Tomcat的配置。 准备工作 下载Tomcat安装包和IntelliJ IDEA开发工具,并安装配置好IntelliJ IDEA 打开IntelliJ IDEA,在顶部导航栏中选择“File” -> “Settings” -&…

    Java 2023年5月19日
    00
  • 利用Java实现调用http请求

    以下是利用Java实现调用HTTP请求的完整攻略。 简介 在Java中,我们可以使用HttpURLConnection或者Apache HttpClient来实现HTTP请求。两者区别在于HttpURLConnection是内置于Java SDK中的,而Apache HttpClient是第三方库。以下分别讲解这两种方式的使用方法。 使用HttpURLCon…

    Java 2023年5月19日
    00
  • MySQL读取JSON转换的方式

    MySQL 5.7及以上版本支持JSON数据类型,但在某些场景下我们需要将JSON数据进行读取、转换或者查询,以满足业务需求。 以下是MySQL读取JSON转换的方式的完整攻略: 1. 查询JSON对象的属性 可以通过箭头运算符->或->>、JSON_EXTRACT函数查询JSON对象的属性。其中,->返回JSON属性的文本格式,-&…

    Java 2023年5月26日
    00
  • Java获取e.printStackTrace()打印的信息方式

    Java中,当我们捕获到异常时,通常会使用e.printStackTrace()方法打印出异常信息,以便我们在调试程序时能够更方便地知道程序出现了哪些问题。接下来是详细讲解如何获取e.printStackTrace()打印的信息的完整攻略。 获取e.printStackTrace()打印的信息 当程序出现异常时,如果使用e.printStackTrace()…

    Java 2023年5月26日
    00
  • maven springboot如何将jar包打包到指定目录

    为了将 Maven SpringBoot 项目打包为指定目录下的 jar 包,可以按照以下步骤进行操作: 1. 配置 pom.xml 文件 首先需要在项目的 pom.xml 文件中添加以下配置: <build> <plugins> <plugin> <groupId>org.springframework.bo…

    Java 2023年6月2日
    00
  • Java输入输出流复制文件所用时间对比

    确定实验目标和环境 首先,我们要确定本次实验的目标,即比较不同输入输出流方式复制文件所用的时间。具体来说,我们要使用普通的字节流、带缓冲区的字节流、字符流和NIO四种方式,分别复制文件,并测量所用的时间,以比较不同方式的效率。 其次,我们需要准备实验的环境,包括需要复制的文件和用于测试时间的代码。 示例1:准备复制的文件 我们可以在测试时使用大小为100MB…

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