当前位置: 首页 > news >正文

springboot 载入自定义的yml文件转DTO

json解析的pom引入

        <dependency><groupId>cn.hutool</groupId><artifactId>hutool-json</artifactId><version>5.8.20</version></dependency>

resources目录下的my-data.yml

project:data:- name:  service-genbase-package:  com.my.testlocal-java-path:  D:\idea_workspace_mygitee\code-gen\mapstruct-mybatis-plus\java-code-gen\src\main\java- name:  service-gen2base-package:  com.my.testlocal-java-path:  D:\idea_workspace_mygitee\code-gen\mapstruct-mybatis-plus\java-code-gen\src\main\java- name:  service-gen3base-package:  com.my.testlocal-java-path:  D:\idea_workspace_mygitee\code-gen\mapstruct-mybatis-plus\java-code-gen\src\main\java

载入yml的配置类


import org.springframework.beans.factory.config.YamlMapFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;@Configuration
public class MyDataYml {@Beanpublic YamlMapFactoryBean myData(){YamlMapFactoryBean yml = new YamlMapFactoryBean();yml.setResources(new ClassPathResource("my-data.yml"));return yml;}
}

接受数据DTO

@Data
public class MyDataCfg {private   List<MyDataDTO> data;
}
import cn.hutool.core.annotation.Alias;
import lombok.Data;@Data
public class MyDataDTO {@Alias("name")private String name;@Alias("base-package")private String basePackage;@Alias("local-java-path")private String localJavaPath;
}

调用

spring通过名字注入

import cn.hutool.json.JSONUtil;
import javax.annotation.Resource;
import java.util.Properties;@Resource(name = "myData")private Properties p;MyDataCfg project = JSONUtil.parse(p.get("project")).toBean(MyDataCfg.class);

断点结果

在这里插入图片描述

http://www.lryc.cn/news/341116.html

相关文章:

  • webpack-(plugin,本地服务器,路径别名,安装vue)
  • http请求头导致了dial tcp:lookup xxxx on 10.43.0.10:53 no sunch host
  • 想要设计放大电路,必须掌握哪些?
  • 每天五分钟计算机视觉:基于卷积操作完成滑动窗口的图片分类?
  • UI设计/交互设计/视觉设计项目汇报/作品集Figma/PPT模板
  • 25、Lua 学习笔记之三(高阶话题)
  • 企业网盘搭建——LNMP
  • Go语言异常处理方式
  • 时序分析基本知识点
  • ELK(Elasticsearch+Logstash+Kibana)日志分析系统
  • 【投稿优惠-EI稳定检索】2024年地理信息技术与遥感测绘国际学术会议(ICGITRSM 2024)
  • MySQL的内外连接
  • Pandas连接MySQL数据库
  • 2024华中杯数学建模参考思路+完整代码+后续成品论文预约
  • ARM_day8:基于iic总线的通信
  • 33、Lua Cocos2d-x使用Luajit实现加密
  • spring 集成 mybatis
  • rtpengine 的端点学习模式
  • Windows 安装 A UDP/TCP Assistant 网络调试助手
  • web自动化系列-selenium的3种等待方式(十一)
  • 每日OJ题_完全背包④_力扣279. 完全平方数(一维和二维)
  • web项目中jsp页面不识别el表达式
  • 【Python基础】字典
  • 2024HW --> 安全产品 Powershell无文件落地攻击
  • 力扣哈哈哈哈
  • RUM 最佳实践-视觉稳定性的探索与实践
  • PostgreSQL的学习心得和知识总结(一百三十八)|深入理解PostgreSQL数据库之Protocol message构造和解析逻辑
  • 爬虫开发教程
  • 【Python】高级进阶(专版提升3)
  • LeetCode 1378、1277、2944