Spring properties to map

读取properties返回map并写入文件 立即下载

Spring properties to map

一个key-value形式的properties文件 以Map的形式注入到Spring的bean中

properties文件形式

RF09001=fooService#method1#name,phone

spring 配置

    <bean id="noMethodMap" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="location" value="classpath:foo.properties"/>
    </bean>

注入到Bean中

    @Resource(name="noMethodMap")
    private Map<String, String> noMethodMap;

其他

如何定位注入源码

修改为一个不存在的资源名称

@Resource(name="nonexist")

此时启动会报错

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'nonexist' available
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:522)

可知是在哪里注入的了

在哪里将PropertiesFactoryBean转成Map

同样的处理方式 将注入变量修改成一个错误的类型 查看错误信息即可

private String noMethodMap; // map --> String

启动会报错

Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'noMethodMap' is expected to be of type 'java.lang.String' but was actually of type 'java.util.Properties'
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:378)

就知道是在哪里进行类型转换的了

如果想对properties-->Map做一下自定义的处理呢

如RF09001-RF09010对应的都是同一个value

RF09001-RF09003=fooService#method1#name,phone

但是想Map中的实际形式为

RF09001=fooService#method1#name,phone
RF09002=fooService#method1#name,phone
RF09003=fooService#method1#name,phone

继承PropertiesFactoryBean 覆盖createProperties即可

public class MyPropertiesFactoryBean extends PropertiesFactoryBean{
    @Override
    protected Properties createProperties() throws IOException {
        Properties properties = super.createProperties();
        Enumeration<String> propertyNames = (Enumeration<String>) properties.propertyNames();
        while(propertyNames.hasMoreElements()){
            String name = propertyNames.nextElement();
            if(name.matches("\\w+-\\w+")){
                String rawName = name;
                String[] split = rawName.split("-");
                Integer start = Integer.valueOf(split[0].substring(2));
                Integer end = Integer.valueOf(split[1].substring(2));
                for (int i = start; i <= end; i++) {
                    properties.setProperty("RF" + i, properties.getProperty(rawName));
                }
            }
        }
        return properties;
    }

spring配置改成

<bean id="noMethodMap" class="com.foo.app.util.MyPropertiesFactoryBean">
AI 代码赋能短视频带货:服装及多赛道批量内容生产全流程实操 本文聚焦 AI 技术在短视频带货领域的落地应用,以服装赛道为核心,延伸至花卉绿植、图书、茶具等热门领域,系统拆解 AI 工具在选品、素材处理、视频制作(含动态效果、场景搭建)、运营优化等环节的实操方法。针对从业者普遍面临的 “内容生产低效”“无专业技术难出优质视频”“流量运营踩坑” 等痛点,提供从基础工具使用到高阶视频制作的全流程技术方案,助力相关从业者借助 AI 实现批量、高效的短视频内容产出。 阅读详情

相关推荐

Tesseract in Java - Intellij IDEA对Tess4J的配置和使用

最近要弄OCR,搜到这个,官网全英文,很烦,看看有没有中文的博客介绍,擦,一个比一个奇葩,还是自己按照官方的来吧,外网慢的很,传到csdn给大家下载。中文训练库下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916532Tess4J3.4下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916519安装

Lewis的博客 1万+

Properties转换成Map

Properties转换成Map import java.util.HashMap; import java.util.Map; import java.util.Properties; import java.util.Set; public class Test { public static void main(String args[]){ Properties prope

xiaocen99的专栏 1万+

大规模SoC芯片Hierarchical Flow Calibre LVS教程

大规模SoC芯片Hierarchical Flow Calibre物理验证LVS实现教程

weixin_37584728的博客 1199

Properties转换成Map Map转Properties以及读取Properties乱码解决String转

Properties转换成Map Map转Properties以及读取Properties乱码解决String转

风水道人 1807

一图文带您认识磁编码器

磁编码器是以磁电原理技术生产的编码器。 磁编码器工作原理: 当电流通过一个位于磁场中的导体的时候,磁场会对导体中的电子产生一个垂直于电子运动方向上的的作用力,从而在垂直于导体与磁感线的方向上产生电势差。 如果让施加在这个导体上的磁场以电流流经路径为轴线,按照上图箭头所示的方向旋转,那么这个霍尔电势差就会因为磁场与导体之间角度的改变而发生变化,而这个电势差的变化趋势,与之前一文中次级线圈旋转时的输出电压一样,是一条正弦曲线。因此,基于这个通电导体两侧的电压,就可以反推计算出磁场旋转的角度了。 .

encoder_yang的博客 2万+

Avellaneda & Stoikov’s market-making strategy 工程化处理

前2篇文章详细介绍了AS存货模型的做市策略,这次对于这些公式里面一些希腊字母的取值是如何计算的,如何做工程化并应用到生产环境中做一些说明。这个里面有一些重要参数:很直观,可以直接取值的有:s = current market mid price (中间价,也就是【最佳卖价+最佳买价】/2)q = quantity of assets in inventory of base asset (也就是买入多少价值的股票数量)

weixin_42480337的博客 7067

java properties转map

Properties properties = new Properties(); properties.load(new FileReader("reflex.properties")); //因为Properties类底层继承了Hashtable<Object,Object>类,所以我们可以直接转 Map<String,St...

tianchaixiaoniuniu的博客 2147

ArcGIS-裁剪遥感影像及dem图像

6、选择【工具箱】-【数据管理工具】-【栅格】-【裁剪】。在【输入栅格】里选择要裁剪的dem,在【输出范围】里选择刚创建的裁剪范围。选择一个输出路径,其他参数保存默认。2、起一个名称,要素类型选择【面】。点击【编辑】选择与要裁剪的dem一致的地理坐标系。1、创建需要裁剪区域的面层shp,右击选择【新建】-【shapefile】3、点击编辑器,选择开始编辑。4、选择【裁剪范围】,点击确定。5、画出想要裁剪的范围并保存。

siwenaiyou的博客 1万+

springboot 加载一个properties文件转换为map

springboot中比较常见的获取properties中的值,就是直接在字段上面添加@Value的属性. 但 有时候我们不确定key有多少, 但是会有一定的规律(这个规律是根据业务来定的,如下), 这时候我们就可以考虑将properties中的信息转换为一个map, 然后根据key的规律操作响应的数据 1. 创建一个properties文件, properties文件内容: # 配置格...

zona 1万+

RK3588 实战级 YOLOv5 Android 全解析:NPU 量化 + 多线程 + 跟踪算法,源码一次买齐

本文将带你完成一个完整的AI视觉项目:在搭载RK3588芯片的Android开发板上运行实时目标检测与跟踪应用。实战目标:成功运行官方YOLOV5摄像头实时检测案例技术深度:深入理解RKNN开发框架和源码实现核心技能:掌握NPU推理、多线程并发、目标跟踪等关键技术。

FJN110的博客 156

【智能模型系列】基于Unity和MediaPipe【手部追踪+手势识别】系统开发指南

在本文中,我将详细介绍一个基于MediaPipe的Unity手势识别系统,该系统能够识别多种常见手势(如拳头、点赞、胜利手势等),并提供完整的事件系统来处理手势状态变化。这个系统非常适合用于VR/AR交互、手势控制游戏或任何需要自然用户界面的应用场景。

纯技术流日常开发商业开发记录总结等 581

springboot将配置文件映射为map

【代码】springboot将配置文件映射为map。

u013008898的博客 1495

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

解决Failed to bind properties under ‘spring.cloud.stream.binders’ to java.util.Map<java.lang.String, o

解决Failed to bind properties under ‘spring.cloud.stream.binders’ to java.util.Map<java.lang.String, org.springframework.cloud.stream.config.BinderProperties>: Reason: No converter found capable of converting from type [java.lang.String] to type [java.

weixin_56619519的博客 843

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

干货必看|Spring Boot整合MyBatis框架详解

Spring Boot默认采用整合Spring Data的方式统一处理数据访问层,通过添加大量自动配置,引入各种数据访问模板xxxTemplate以及统一的Repository接口,从而达到简化数据访问层的操作。引入的druid-spring-boot-starter依赖,是阿里巴巴为了迎合Spring Boot项目而适配的Druid数据源启动器,当在pom.xml文件中引入该启动器后,不需要再进行其他额外配置,Spring Boot项目会自动识别配置Druid数据源。然后编写数据库表对应的实体类。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1517

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

spring的 集合装配,properties,list,map

<br /><br /> <bean><br /> <br /><property name=""><br /><props><br /><pro key=""></pro><br /><pro key=""></pro><br /></props><br /></property><br /> <br /><property name=""><br /><list><br /><value></value><br /><ref bean=""/><br /></list><br /></property>

孙健的专栏 1102

灵活配置 Spring 集合:List、Set、Map、Properties 详解

为了方便其他设备和平台的小伙伴观看往期文章:,关注后即可获取最新文章推送看完如果觉得有帮助,欢迎。

小万哥的博客 1256

Spring中的集合——List、Map、Set、Properties

1、实体CollectionBean package www.csdn.spring1.collection; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; public class CollectionBean { //set集合 priv

xueshuangshuang123的专栏 1098

Spring集合 (List,Set,Map,Properties) 实例

下面例子向您展示Spring如何注入值到集合类型(List, Set, Map, and Properties)。 支持4个主要的集合类型: List – Set – Map – Properties – Spring beans 一个Customer对象,有四个集合属性。 package com.yiibai.common; import java.util.List

Wit_tang的博客 1987

spring boot 读取properties 的map

1.引入pom依赖(注:为了springboot使用自定义的配置文件properties,需在配置类开头加上@PropertySource) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration...

sinat_24619961的博客 1142

Spring学习笔记 通过PropertyPlaceholderConfigurer来使用properties文件初始化Map类型属性

头些天弄了个使用properties文件初始化bean属性的测试,在这两天工作时正好需要将部分配置提取到properties文件中的情况,但是其中一个属性为Map类型,上网搜了很久也没搜到类似初始化Map的方法,在找到初始化Map方法前,为了使系统可以继续使用,临时使用了添加init方法的办法来对Map进行手工初始化工作。如下: 首先使带有Map属性的类实现InitializingBean接口。

Arvin Rong's Space 3505

Spring对象注入和复杂(Array、List、Map、Properties)属性注入

对象注入 创建两个对象: public class UserService { private UserDao userDao; //set一定要小写 public void setUserDao(UserDao dao) { userDao = dao; } public void add() { System.out....

fanc的博客 1564

Spring配置Bean的List Map Set Properties

1. Student实体类 package org.spring; public class Student { private String name; public void setName(String name) { this.name = name; } @Override public String toString() { return "Student...

Thread丶 509

【Spring】@Value读取properties作为map或list

Spring读取properties作为map: properties文件中: blog-top-links={home:&quot;/home&quot;} blog-list=1,2,3 map的写法和json差不多,但是应该不支持嵌套,没有尝试。 key加不加引号都可以,value加双引号单引号都可以,但是当key中有”-“时就必须加引号,例如key为:about-me时,就必须加引号否则解析失败 ...

哈哈哈哈哈哈哈 4万+

Spring中注入List,Set,Map,Properties

import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; public class Customer { private Li...

choukuad381324的博客 122

【SpringBoot】@Value读取properties作为map或list

Spring读取properties作为map和List: application.properties文件中: blog-top-links={home:"/home"} blog-list=1,2,3 map的写法和json差不多,但是应该不支持嵌套,没有尝试。 key加不加引号都可以,value加双引号单引号都可以,但是当key中有”-“时就必须加引号,例如key为:about-me时...

龚小帅的博客 8094

Spring依赖注入properties,Map,List

注入Properties #1 <bean id="pro1" class="java.util.Properties"> <constructor-arg> <props> <prop key="abc">aaaa</prop> <prop key="abc1">aaaa1</prop>

dddaac的专栏 1866
上一篇: Java 中的resultset详解
下一篇: js实现sleep功能
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值