Spring boot Sample 003之spring-boot-configura…

2020-06-01 16:05:01来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Spring boot Sample 003之spring-boot-configuration-properties

一、环境

1.1、Idea 2020.1

1.2、JDK 1.8

二、目的

通过properties文件配置spring boot 属性文件

三、步骤

3.1、点击File -> New Project -> Spring Initializer,点击next

 

3.2、在对应地方修改自己的项目信息

 

3.3、选择Web依赖,选中Spring Web。可以选择Spring Boot版本,本次默认为2.2.6,点击Next

 

3.4、编辑工程名和项目路径,确定后点击Finish完成

 

3.5、项目结构

四、添加测试方法

 

4.1、新建UserController实体类

package org.ouyushan.springboot.configuration.properties.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;

/**
 * @Description:
 * @Author: ouyushan
 * @Email: ouyushan@hotmail.com
 * @Date: 2020/4/27 13:34
 */

@RestController
@RequestMapping("/api/user")
public class UserController {

    @Value(value = "${ouyushan.secret}")
    private String secret;

    @Value(value = "${ouyushan.number}")
    private int number;

    @Value(value = "${ouyushan.desc}")
    private String desc;


    @GetMapping("/")
    public String hello() {
        return "Hello World Based On Spring-Boot";
    }

    // @RequestParam 简单类型的绑定
    @GetMapping("/getUser")
    public HashMap<String, Object> getUser(@RequestParam String username) {
        HashMap<String, Object> map = new HashMap<>();
        map.put("title", "hello world");
        map.put("username", username);
        map.put("secret",secret);
        map.put("number",number);
        map.put("desc",desc);
        return map;
    }
}

 

4.2、配置默认application.properties

在resources/application.properties中配置以下信息:
ouyushan.secret=${random.value}
ouyushan.number=${random.int}
ouyushan.name=ouyushan
ouyushan.desc=${ouyushan.name} is a domain name
server.port=9090
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Chongqing

 

启动项目,访问 http://localhost:9090/api/user/getUser?username=spring 返回:

 

{
    "number":-1860712823,
    "secret":"e1066512836d41276cbd3baf86189ac8",
    "title":"hello world",
    "username":"spring",
    "desc":"ouyushan is a domain name"
}

4.3、配置resources/config/application.properties

 

ouyushan.secret=${random.value}
ouyushan.number=${random.int}
ouyushan.name=ouyushan-config
ouyushan.desc=${ouyushan.name} is a domain name
server.port=7070

启动项目,访问
http://localhost:7070/api/user/getUser?username=spring
返回:

 

{
    "number":-1540619073,
    "secret":"352c725a9695f463f4edbcbd6dee1944",
    "title":"hello world",
    "username":"spring",
    "desc":"ouyushan-config is a domain name"
}

通过对比请求地址和返回结果,发现resources/config/application.properties中的配置内容已覆盖resources/application.properties

 

五、知识点

 

# 示例  spring-boot-configuration-properties  外部化配置


properties文件优先级

1. 当前目录下的一个/config子目录
2. 当前目录
3. 一个classpath下的/config包
4. classpath根路径(root)

可通过@Value取值

    @Value(value = "${ouyushan.secret}")
    private String secret;


**@ConfigurationProperties(prefix = "sample")**

读取外部配置文件中sample 开始的属性,自动映射到类中的字段,并覆盖代码中的值。
 

原文链接:https://www.cnblogs.com/ouyushan/p/13023778.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java连载119-反编译类的某个方法已经构造方法

下一篇:Java生鲜电商平台-生鲜系统代码审查以及优化方案(小程序/APP)