文章目录

  • 1 springboot读取配置文件的两种方式
  • 2 静态类读取配置文件

1 springboot读取配置文件的两种方式

属性上使用:@Value("${xxxx}")
类上使用:@ConfigurationProperties(prefix = "xxx")

2 静态类读取配置文件

思路

1 工具类增加静态属性的初始化方法init
2 创建bean对象- 通过@ConfigurationProperties读取配置文件- 通过component将bean对象注入到容器中
3 创建代理类- 通过component读取容器中bean对象的属性- 在构造方法中调用工具类静态属性的初始化方法init,从而初始化工具类的静态属性
  • 1 创建maven项目GetProperties
  • 2 修改pom.xml,引入parent/web/test依赖
    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.0.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>
  • 3 增加配置文件/resources/application.properties,内容为
study.theme=getProperties
study.result=true
  • 4 增加启动类cn.ithzp.properties.PropertiesApplication
package cn.ithzp.properties;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class PropertiesApplication {public static void main(String[] args) {SpringApplication.run(PropertiesApplication.class);}
}
  • 5 核心三部曲,工具类增加静态变量初始化方法init
package cn.ithzp.properties.util;import cn.ithzp.properties.entity.StudyEntity;public class StudyUtil {private static String theme;private static String result;public static void initStaticProperties(StudyEntity studyEntity){theme = studyEntity.getTheme();result = studyEntity.getResult();}public static String getStaticProperties() {return theme + ":" + result;}
}
  • 6 核心三部曲,具体bean对象读取配置文件
package cn.ithzp.properties.entity;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Data
@Component
@ConfigurationProperties(prefix = "study")
public class StudyEntity {private String theme;private String result;
}
  • 7 核心三部曲,代理类构造方法中调用工具类静态属性的初始化方法
package cn.ithzp.properties.Proxy;import cn.ithzp.properties.entity.StudyEntity;
import cn.ithzp.properties.util.StudyUtil;
import org.springframework.stereotype.Component;@Component
public class StudyProxy {public StudyProxy(StudyEntity studyEntity) {StudyUtil.initStaticProperties(studyEntity);}
}
  • 8 增加测试类,测试验证
package cn.ithzp.properties;import cn.ithzp.properties.entity.StudyEntity;
import cn.ithzp.properties.util.StudyUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@SpringBootTest(classes = {PropertiesApplication.class})
@RunWith(SpringRunner.class)
public class TestApplication {@Autowiredprivate StudyEntity studyEntity;@Testpublic void test() {System.out.println(studyEntity);System.out.println(StudyUtil.getStaticProperties());}
}

Springboot使用-静态类读取配置文件相关推荐

  1. 10分钟搞定 SpringBoot 如何优雅读取配置文件?

    本文以及收录自springboot-guide(不只是SpringBoot还有Spring重要知识点),地址:https://github.com/Snailclimb/springboot-guid ...

  2. springboot 控制台程序读取配置文件(原创)

    首先新建一个springboot项目,此处省略. 1.新建一个application.properties person.name=kevin person.age=6 person.sex=male ...

  3. java静态类读取配置文件内容

    说明一下,无需导入任何jar包,运用的是jdk自带的ClassLoader加载器,启动加载所有的配置文件内容. 以下是具体的代码: 配置文件:application.properties server ...

  4. SpringBoot 读取配置文件中参数全面教程

    一.简介 在日常开发使用 SpringBoot 框架时,经常有一些配置信息需要放置到配置文件中,我们需要手动读取这些配置到应用中进行一些逻辑,这里整理了一些常用读取配置的方法,简单介绍一下. 1.Sp ...

  5. springboot 的两种配置文件语法||配置文件占位符||@Value 读取配置文件及验证处理

    [掌握]springboot 的两种配置文件语法 导入配置文件自动提示的包 创建 Student 类 创建修改 application.properties 配置文件占位符 ${random.int} ...

  6. Springboot中,如何读取配置文件中的属性

    摘要:在比较大型的项目的开发中,比较经常修改的属性我们一般都是不会在代码里面写死的,而是将其定义在配置文件中,之后如果修改的话,我们可以直接去配置文件中修改,那么在springboot的项目中,我们应 ...

  7. 在springboot中,如何读取配置文件中的属性

    摘要:在比较大型的项目的开发中,比较经常修改的属性我们一般都是不会在代码里面写死的,而是将其定义在配置文件中,之后如果修改的话,我们可以直接去配置文件中修改,那么在springboot的项目中,我们应 ...

  8. springboot中使用@Value读取配置文件

    转自:https://www.cnblogs.com/duanxz/p/4520627.html springboot中使用@Value读取配置文件 一.配置文件配置 直接配置 在src/main/r ...

  9. SpringBoot项目使用@Value读取配置文件application.yml的值

    SpringBoot项目使用@Value读取配置文件application.yml的值 前景:因为之前用@Value注解都是在Service里面,而Service的调用都是用的@Autowired等注 ...

最新文章

  1. 看源码,我为什么推荐IDEA?
  2. win8系统ghost后只有一个盘了其它分区的文件如何找回
  3. linux下大于2TB硬盘格式化及挂载,linux下大于2T的分区方法
  4. 2020年12月大学英语四六级英语作文预测(XDF王江涛)
  5. facebook海量图片存储系统与淘宝TFS系统比较
  6. golang 切片追加问题
  7. 为什么推荐做印尼tiktok?
  8. GC类型以及不同类型GC的搭配 1
  9. 1026-压力传感器分类及原理集锦
  10. R语言 数据操作小贴士合集
  11. Zbar的安装及环境配置(环境:VS2022、64位Win10、OpenCV3.6.0)
  12. 油藏生产业务+机器学习代理优化算法
  13. csp计算机专业,中国计算机学会推出CSP非专业级别认证
  14. zzuli OJ 1127: 矩阵乘积
  15. leetcode 169(简单)题解:给定一个大小为 *n* 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 *⌊ n/2 ⌋* 的元素。
  16. ANDROID SDK体系介绍
  17. 基于Qt的在线答题系统
  18. SmartMemoryCleaner for Mac(内存清理工具)
  19. FeiQ(飞秋) 添加不同网段好友
  20. php推广网址代码生成,PHP网址缩短代码(生成短网址)

热门文章

  1. java-net-php-python-ssm电影影评网站计算机毕业设计程序
  2. mysql数据库压缩备份_Mysql备份压缩及恢复数据库方法总结
  3. mysql中resultmap_@Results用法和resultMap的用法
  4. 最新FPN | CFPNet即插即用,助力检测涨点,YOLOX/YOLOv5均有效
  5. 仿应学短视频APP项目功能分析说明书
  6. 爬虫项目四:2021最新测试可用淘宝爬虫
  7. html网页音乐视频教程,html网页添加音乐视频的实现示例
  8. Notion待办如何自动同步滴答清单
  9. pta编程题python答案提交显示非零返回_PTA中提交Python3程序的一些套路
  10. 教你怎么图片等比例放大缩小超过屏幕大小