热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

本文主要分享【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.*;

/** * @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());
    }
}

本文《springboot读取配置文件自定义参数和自定义配置文件参数》版权归李昊哲-小课所有,引用springboot读取配置文件自定义参数和自定义配置文件参数需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
author-avatar
docetaxel
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有