不举是什么原因造成的| 食人鱼的天敌是什么| 尾骨疼是什么原因| 3月16日什么星座| 8月底是什么星座| 一什么池塘| 努嘴是什么意思| 汗毛多是什么原因| 手忙脚乱是什么意思| 倒灌是什么意思| 狗是什么生肖| 屁特别多是什么原因| 升阳是什么意思| 多莉是什么鱼| 人棉是什么面料| pedro是什么牌子| 为什么订婚后容易分手| 月经不来是什么原因导致的| 鞭尸什么意思| 淋巴细胞是什么意思| 心律不齐吃什么食物好| 二进宫是什么意思| 青龙白虎是什么意思| 积分落户是什么意思| 若干是什么意思| 邓绥和阴丽华什么关系| 荼什么意思| 薰衣草什么时候开花| 君子兰用什么土最好| 梗犬是什么意思| 担心是什么意思| 天下乌鸦一般黑是什么意思| 经常打喷嚏是什么原因| 没有润滑剂可以用什么代替| 榴莲壳有什么用| 铖字五行属什么| 偶尔心慌是什么原因| 吃什么可以解决便秘| 一去不返是什么生肖| 排卵是什么意思| 办护照需要什么资料| 桔梗是什么东西| 针对性是什么意思| 粽子是什么意思| 梦到自己拉大便是什么预兆| 海龟是什么动物| 00年属龙的是什么命| 洽谈是什么意思| 金开什么字| 消化酶是什么| 什么是hpv| 钻牛角尖什么意思| 唐宝是什么意思| 泄泻病是什么意思| 定性是什么意思| 叶黄素是什么东西| 抖阴是什么| 梦到自己怀孕了是什么预兆| 手脚麻木吃什么药最管用| 本科毕业证是什么颜色| 脚气用什么药| 漏尿女性吃什么药最好| 下肢动脉硬化吃什么药| 甲亢病吃什么药效果好| 为什么会尿路感染| 脸发黄是什么原因| 虾不能和什么同吃| ntr是什么意思啊| 骨头受伤了吃什么恢复的快| 梦见发大水是什么预兆| 丙氨酸是什么| 胃功能四项检查是什么| 心肌供血不足用什么药| omega3是什么意思| 4月30号是什么星座| 1217是什么星座| 维生素b2吃多了有什么副作用| 干咳吃什么药| 腹腔积液是什么原因| 甲亢有些什么症状| 血小板吃什么补得快点| 985大学什么意思| 乳房变大是什么原因| 什么茶降火| hd是什么意思| 此加石念什么| 幽门螺杆菌用什么药| 左小腿麻木是什么原因| 麻酱是什么做的| 怀孕第一个月有什么反应| 去鱼腥味最好的方法是什么| 手心脚心发热是什么原因引起的| 新疆人是什么人种| 高低肩挂什么科| 一个木一个寿念什么| 吡唑醚菌酯治什么病| 拔了智齿需要注意什么| 属马的生什么属相的宝宝好| rom是什么意思| 什么是多囊| 陈惠敏和陈慧琳什么关系| 什么散步填词语| 李开复是什么人| 二月十号是什么星座| mrr是什么意思| 什么是碱性磷酸酶高怎么回事| 凌晨12点是什么时辰| 红点是什么原因引起的| 脑梗能吃什么水果| 无机盐是什么| 什么是抗生素类药物| 儿童肠系膜淋巴结炎吃什么药| 胎盘低置是什么原因造成的| 蝉什么时候出来| 三朵花代表什么意思| 胺碘酮又叫什么名字| 支原体感染有什么症状| 80年属猴的是什么命| 茁壮的什么| 镜花缘是什么意思| 一片狼藉是什么意思| 妤是什么意思| 什么是海拔| 42天产后检查挂什么科| 室上速是什么病| 蒜苗炒什么好吃| sancanal是什么牌子| oc是什么意思| ph值什么意思| cm和mm有什么区别| 毳毛是什么| 围绝经期是什么意思| 退行性改变是什么意思| 盆腔积液是什么引起的| 痔疮是什么科室看的| 娘子啊哈是什么歌| 水瓜壳煲水有什么功效| 码放是什么意思| 外伤用什么药愈合最快| 狗狗能看见什么颜色| 马走日是什么意思| 1908年中国发生了什么| 手经常发麻是什么原因| 什么的落日| 问加一笔是什么字| 抑郁症什么症状表现| 单反是什么意思| 黑藻是什么植物| 胃一阵一阵的疼是什么原因| 老心慌是什么原因| 国花是什么花| 做肠镜有什么危害| 洲际导弹是什么意思| 肠胃不好吃什么水果好| 妨夫痣是什么意思| 保质期是什么意思| 湘字五行属什么的| 下眼睑肿胀是什么原因| 精液发红是什么原因| 肠道易激惹综合征的症状是什么| 多汗症是什么原因| 肚脐眼大代表什么| 可小刀是什么意思| 老实人为什么总被欺负| 三三两两是什么生肖| 什么是初心| cos什么意思| 长明灯是什么意思| 色痨是什么病| 什么是嗜睡| 检查肺部最好做什么检查最准确| 梦到拆房子是什么意思| 美人盂是什么意思| iga什么意思| 鼻涕倒流到咽喉老吐痰吃什么药能根治| 痛风都有什么症状| 灌溉是什么意思| 手指发麻是什么原因| 八段锦什么时候练最好| 了加一笔是什么字| 鹰嘴豆是什么| 5月22日是什么星座| 低钾血症是什么意思| 睡眠浅是什么原因| 一什么雨伞| 白血病是什么原因引起的| 什么是阴阳水| 专技十三级是什么意思| 粑粑黑色是什么原因| 喝什么茶降血糖| 黄梅时节是什么季节| 胳膊脱臼是什么症状| 眼睛疼吃什么药效果最好| 四十属什么| 深明大义是什么意思| 什么是脚气| 洗牙喷砂是什么意思| 勤去掉力念什么| 78岁属什么生肖| 减肥期间可以喝什么饮料| ctp是什么意思| 小孩突然头疼是什么原因| 双鱼座是什么象星座| 月的偏旁有什么字| 11月18号是什么星座| 玄青色是什么颜色| 花团锦簇是什么意思| asd什么意思| 为什么尿是红色的| 来例假吃什么水果好| 吃西瓜有什么好处| 女孩为什么难得午时贵| 上海手表什么档次| 检查怀孕要做什么检查| 11月17日是什么星座| 蛐蛐吃什么食物| 痔疮应该挂什么科室| 怀孕初期吃什么蔬菜好| 什么天山| 相公是什么意思| 女人吃善存有什么好处| 中耳炎是什么| 包皮过长会有什么影响| 牛奶不能和什么东西一起吃| 莲蓬什么时候成熟| 什么情况下会猝死| 老虎属于什么科| 什么是小数| 火加同念什么| 小月子同房有什么危害| 荷花是什么形状的| 贫血吃什么好| 养尊处优的意思是什么| 甜菊糖苷是什么| 那个叫什么| 维生素e有什么用| 808是什么意思| 心肌缺血是什么意思| 腹泻便溏是什么意思| 晚上做梦掉牙有什么预兆| 胡子白了是什么原因| 夏天晚饭吃什么比较好| 生地和熟地有什么区别| 眼睛屈光不正什么意思| 重阳节干什么| 红血丝用什么护肤品修复比较好| 晚上尿多什么原因| 多五行属什么| 低血糖吃什么最快缓解| 甲胎蛋白偏高是什么原因| 青石是什么石头| 白细胞加号什么意思| 姓杨的女孩子取什么名字| 做月子要注意什么| 夏威夷披萨都有什么配料| 85属什么生肖| 北极熊是什么颜色的| ugg是什么品牌| 阿普唑仑片是什么药| 麦冬是什么| 小孩体检挂什么科| 小孩拉肚子吃什么食物好| 海带为什么要打结| 喝茶叶水有什么好处和坏处| 百度

两岸王氏后裔福建共祭“开闽三王” 同展家风文化(图)-台湾-时政频道-中工网

开发 开发工具
如果你想将后缀为.properties,.xml,.yaml资源文件加载,那么你可以使用PropertiesPropertySourceLoader与YamlPropertySourceLoader。
百度 做好新时代改革发展稳定、内政外交国防、治党治国治军各方面工作,都对党的精神状态、能力水平、纯洁性和先进性提出了前所未有的新要求。

环境:SpringBoot3.2.5

1. 获取进程ID

如果你想在程序中获取当前SpringBoot运行的进程号,那么你可以使用ApplicationPid,该类非常方便的获取当前进程ID。

ApplicationPid pid = new ApplicationPid() ;
System.out.printf("进程ID: %s%n", pid.toString()) ;

输出结果:

进程ID: 24416

当然你还可以通过如下方式,获取当前的进程号:

#在META-INF/spring.factories中注册监听器
org.springframework.context.ApplicationListener=\
org.springframework.boot.context.ApplicationPidFileWriter

该监听器会将当前的进程ID写入文件中,通过如下配置文件路径

spring:
  pid:
    file: d:/app.pid

文件内容:

图片图片

如果你觉得无聊,那么你还可以通过如下方式:

String pid = ManagementFactory.getRuntimeMXBean().getName().split("@")[0]

这样也可以获取进程ID。

2. 应用运行主目录

ApplicationHome提供访问应用程序主目录的途径。尝试为Jar文件、解压缩文件和直接运行的应用程序选择一个合理的主目录。

ApplicationHome home = new ApplicationHome() ;
System.out.printf("dir: %s, source: %s%n", home.getDir(), home.getSource()) ;

在IDE中运行输出结果:

dir: D:\java\workspace\test-app, source: null

打成Jar后运行输出结果:

dir: D:\java\workspace\test-app\target, 
  source: D:\java\workspace\test-app\target\test-app-1.0.0.jar

通过jar运行后,source输出的是当前运行的jar包路径。

3. 获取Java版本

要想知道当前SpringBoot运行时的java版本可以通过JavaVersion获取:

System.out.printf("Java Version: %s%n", JavaVersion.getJavaVersion()) ;

输出结果:

Java Version: 17

JavaVersion是个枚举类,定义了17~22枚举值,你还可以调用isEqualOrNewerThan和isOlderThan进行java版本的比较。

4. 应用临时目录

ApplicationTemp类提供了访问应用程序特定的临时目录的功能。一般来说,不同的Spring Boot应用程序将得到不同的位置,但是,只需重新启动应用程序即可获得相同的位置。

ApplicationTemp temp = new ApplicationTemp() ;
System.out.printf("临时目录: %s%n", temp.getDir()) ;

输出结果:

临时目录: C:\Users\MSI-NB\AppData\Local\Temp\561929B2C764E67BCDA2DF9DAE26EF121F7E5365

不论你在IDE下还是Jar方式运行,windows平台下临时目录都在这里的Temp下。

5. 系统属性/环境变量访问

当你需要访问系统属性时可以通过SystemProperties类非常方便的获取。如果你访问的属性不存在时(null),那么它会再从环境变量中获取(System#getenv)。

System.out.printf("java.home=%s%n", SystemProperties.get("java.home")) ;

输出结果:

java.home=D:\software\jre

注:这里的get方法参数是可变长参数,你可以传递多个key,获取时遍历遇到不为null的直接返回。

6. 实例化对象

Instantiator通过注入可用参数来实例化对象的简单工厂。

public interface DAO {}
public class A implements DAO {}  
public class B implements DAO {}

注备上面几个类,接下通过Instantiator一次性实例化多个对象。

Instantiator<DAO> instant = new Instantiator<>(DAO.class, p -> {}) ;
List<DAO> ret = instant.instantiate(List.of("com.pack.A", "com.pack.B")) ;
System.out.printf("%s%n", ret) ;

输出结果

[com.pack.A@3127cb44, com.pack.B@3234474]

非常方便的一次性帮助你实例化多个同类型的类。

7. 资源加载

如果你想将后缀为.properties,.xml,.yaml资源文件加载,那么你可以使用PropertiesPropertySourceLoader与YamlPropertySourceLoader。

// 加载properties文件
PropertiesPropertySourceLoader propertyLoader = new PropertiesPropertySourceLoader() ;
List<PropertySource<?>> list = propertyLoader.load("pack", new ClassPathResource("pack.properties")) ;
System.out.printf("pack.*: %s%n", list.get(0).getSource()) ;
// 加载yaml文件
YamlPropertySourceLoader yamlLoader = new YamlPropertySourceLoader() ;
List<PropertySource<?>> yamls = yamlLoader.load("pack", new ClassPathResource("pack.yml")) ;
System.out.printf("pack.*: %s%n", yamls.get(0).getSource()) ;

通过上面2个Loader非常方便的将资源文件加载,加载后的List<PropertySource>还可以注册到Environment中,在系统中直接访问。

8. 获取basePackages

如果你需要在代码中获取当前应用启动类所在的基包basePackages,那么你可以通过如下方式:

private ConfigurableApplicationContext context ;
System.out.printf("basepPckages: %s%n", AutoConfigurationPackages.get(context)) ;

输出结果:

basepPckages: [com.pack]

内部注册的是一个BasePackages Bean,该类是静态私有的所以你没法直接访问,只能通过上面的方式。

责任编辑:武晓燕 来源: Spring全家桶实战案例源码
相关推荐

2025-08-05 08:19:52

伪类CSS

2025-08-05 09:42:49

工具编辑器

2025-08-05 08:12:17

开源微信小程序

2025-08-05 09:01:39

PostCSS工具CSS

2025-08-05 11:10:55

Spring BootShellJava

2025-08-05 09:01:34

SQL建议索引

2025-08-05 09:36:51

2025-08-05 11:35:58

Java 8APIJava

2025-08-05 15:12:38

Java8日期处理代码

2025-08-05 15:27:41

React工具Vue

2025-08-05 09:50:54

Hutool工具Java

2025-08-05 10:24:10

Spring更新JVM

2025-08-05 13:03:30

Spring注解项目

2025-08-05 21:41:29

MarkdownHtmlWeb

2025-08-05 11:02:53

AdobeiOS工具

2025-08-05 10:33:56

固态硬盘Windows 7软件

2025-08-05 08:53:56

插件IDE

2025-08-05 10:59:01

Python数据工具

2025-08-05 17:06:43

开发组件工具

2025-08-05 10:51:32

DevOpsGradleGit
点赞
收藏

51CTO技术栈公众号

促甲状腺高会导致什么 bag是什么意思 今年属于什么年 喉咙痛有痰吃什么药 内膜薄是什么意思
医院红色手环代表什么 处暑是什么节气 孕妇缺碘吃什么补最快 乙肝dna检测是查什么 狮子头是什么肉
不眠夜是什么意思 crab是什么意思 什么叫排比句 用什么药可以缩阴紧致 嫖娼是什么意思
小便发黄是什么原因引起的 吃什么对皮肤好还能美白的 4月16日什么星座 鼻窦炎是什么病 血管钙化是什么意思
梦到好多小蛇是什么意思imcecn.com 唐氏筛查是检查什么hcv9jop7ns4r.cn 胎头位于耻上是什么意思xscnpatent.com 什么玩意儿jasonfriends.com 5月26号是什么日子hcv7jop6ns8r.cn
枣庄古代叫什么hcv9jop7ns2r.cn 38是什么意思hcv8jop0ns0r.cn 有期徒刑是什么意思ff14chat.com 热火朝天是什么意思hcv7jop9ns6r.cn 不走寻常路是什么意思gysmod.com
河蚌吃什么食物hcv9jop2ns5r.cn 拉肚子吃点什么食物好hcv9jop3ns3r.cn pc是什么材质hcv9jop4ns0r.cn 咳嗽看什么科室hcv8jop6ns5r.cn 皋读什么bfb118.com
湿气重吃什么药hcv7jop9ns7r.cn 什么的树林hanqikai.com 什么是鸡胸hcv8jop0ns6r.cn 一月30号是什么星座hcv9jop0ns8r.cn 什么是名媛hcv9jop0ns2r.cn
百度