作者:docetaxel | 来源:互联网 | 2023-05-17 06:49
本文主要分享【springboot读取配置方式】,技术文章【springboot读取配置文件自定义参数和自定义配置文件参数】为【李昊哲-小课】投稿,如果你遇到Java,大数据,Spring相关问题,
本文主要分享【springboot 读取配置方式】,技术文章【springboot读取配置文件自定义参数和自定义配置文件参数】为【李昊哲-小课】投稿,如果你遇到Java,大数据,Spring相关问题,本文相关知识或能到你。
springboot 读取配置方式
引入依赖
<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.*;
@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;
@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;
@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;
@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;
@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());
}
}
本文《springboot读取配置文件自定义参数和自定义配置文件参数》版权归李昊哲-小课所有,引用springboot读取配置文件自定义参数和自定义配置文件参数需遵循CC 4.0 BY-SA版权协议。