• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

springboot读取配置文件自定义参数和自定义配置文件参数

武飞扬头像
李昊哲小课
帮助1

引入依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

编写配置文件自定义参数

application.yml

lhz:
  project:
    title: 李昊哲-小课
    slogan: 桃李不言下自成蹊
    map: {"B":"https://space.bilibili.com/480308139","C":"https://blog.csdn.net/qq_24330181"}
    list:
      - https://space.bilibili.com/480308139
      - https://blog.csdn.net/qq_24330181
    lhzSite:
      name: 李昊哲-小课
      url: https://space.bilibili.com/480308139
    siteList:
      - name: 李昊哲-小课 B站
        url: https://space.bilibili.com/480308139
      - name: 李昊哲-小课 C站
        url: https://blog.csdn.net/qq_24330181
学新通

编写常量配置类

package com.lihaozhe.constant;

import lombok.*;

/**
 * @author 李昊哲
 * @version 1.0.0 2022/7/27 上午9:57
 */
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class LhzSite {
    private String name;
    private String url;
}

学新通
package com.lihaozhe.constant;

import lombok.*;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.List;
import java.util.Map;

/**
 * @author 李昊哲
 * @version 1.0.0 2022/7/28 下午1:36
 */
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Configuration
@ConfigurationProperties(prefix = "lhz.project")
public class ProjectConstant {
    private String title;
    private String slogan;
    private Map<String, String> map;
    private List<String> list;
    private LhzSite lhzSite;
    private List<LhzSite> siteList;
}

学新通

编写测试类

package com.lihaozhe.constant;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * @author 李昊哲
 * @version 1.0.0 2022/7/28 下午1:39
 */
@Slf4j
@SpringBootTest
public class ProjectConstantTest {
    @Autowired
    private ProjectConstant constant;

    @Test
    public void test() {
        log.info("常量 >>> {}", constant);
        log.info("title >>> {}", constant.getTitle());
        log.info("slogan >>> {}", constant.getSlogan());
        constant.getMap().forEach((k, v) -> log.info("key >>> {},\tvalue >>> {}", k, v));
        constant.getList().forEach(item -> log.info("item >>> {}", item));
        log.info("网站名称 >>> {},\t网站地址 >>> {}", constant.getLhzSite().getName(), constant.getLhzSite().getUrl());
        constant.getSiteList().forEach(lhzSite -> log.info("网站名称 >>> {},\t网站地址 >>> {}", lhzSite.getName(), lhzSite.getUrl()));
    }
}

学新通

编写自定义配置文件

jwt.properties

编写常量配置类

package com.lihaozhe.constant;

import lombok.*;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

/**
 * @author 李昊哲
 * @version 1.0.0 2022/7/28 下午2:16
 */
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Configuration
@ConfigurationProperties(prefix = "jwt")
@PropertySource("classpath:jwt.properties")
public class JwtConstant {
    private String key;
    private long accessExpiryDate;
    private long codeExpiryDate;
}

学新通

编写测试类

package com.lihaozhe.constant;

import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * @author 李昊哲
 * @version 1.0.0 2022/7/28 下午2:19
 */
@Slf4j
@SpringBootTest
public class JwtConstantTest {
    @Autowired
    private JwtConstant jwtConstant;

    @Test
    public void test() {
        log.info("秘钥 >>> {}", jwtConstant.getKey());
        log.info("accessExpiryDate >>> {}", jwtConstant.getAccessExpiryDate());
        log.info("codeExpiryDate >>> {}", jwtConstant.getCodeExpiryDate());
    }
}

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbjbii
系列文章
更多 icon
同类精品
更多 icon
继续加载