Spring对基本类型,List类型,Map类型,数组类型,类集合类型的配置详解,以及对Spirng的Setter方法、构造方法的注入讲解。

深度解构事务码 SQF:Support Query Framework 与 ABAP 静态分析实战 某制造企业在年度审计前,需要确认自定义发票过账程序 ZFI_INV* 系列是否存在硬编码公司代码与未捕获异常。技术团队在字段填入ZFI_INV*后,勾选与规则,执行扫描。SQF 生成的 ALV 报告列出 42 个警告,其中 17 条与抛出 CX_SY_NO_HANDLER 相关,8 条涉及动态 SQL 注入风险。结果导出至 Excel 供开发整改,并在 ATC 阶段验证修复。此过程较手工逐个执行 Code Inspector 节省超 80 % 时间。 阅读详情

1、创建一个People类,设置其属性跟GetSet方法。

public class People {
    private String name;//名字
    private String age;//年龄
    private char sex;//性别
    private String iphone;//电话
    private List<String> hoby;//爱好
    private Map<String,String> address;//地址
    private String[] friend;//朋友
    private Properties pro;  //集合类
    @Override
    public String toString() {
        return "People [name=" + name + ", age=" + age + ", sex=" + sex
                + ", iphone=" + iphone + ", hoby=" + hoby + ", address="
                + address + ", friend=" + Arrays.toString(friend) + ", pro="
                + pro + "]";
    }

  public Properties getPro() {
        return pro;
    }
    public void setPro(Properties pro) {
        this.pro = pro;
    }
    public String[] getFriend() {
        return friend;
    }
    public void setFriend(String[] friend) {
        this.friend = friend;
    }
    public List<String> getHoby() {
        return hoby;
    }
    public void setHoby(List<String> hoby) {
        this.hoby = hoby;
    }
    public Map<String, String> getAddress() {
        return address;
    }
    public void setAddress(Map<String, String> address) {
        this.address = address;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
    public String getIphone() {
        return iphone;
    }
    public void setIphone(String iphone) {
        this.iphone = iphone;
    }
    
}

2、配置文件的配置(以bean.xml为例)
    <bean id="people" class="cn.web.neusoft.entity.People">
        <!--普通属性的注入  -->
        <property name="name" value="李安"></property>
        <property name="age" value="21"></property>
        <property name="sex" value="男"></property>
        <!--爱好List的依赖注入 -->
        <property name="hoby">
            <list>
                <value>打游戏</value>
                <value>听音乐</value>
                <value>看电影</value>
            </list>
        </property>
        <!--地址Map的依赖注入  -->
        <property name="address">
            <map>
                <entry key="深圳" value="深圳大学"></entry>
                <entry key="广州" value="华南理工大学"></entry>
                <entry key="东莞" value="东莞理工学院"></entry>        
            </map>
        </property>
        <!--数组friend的依赖注入  -->
        <property name="friend">
            <list>
                <value>小彭</value>
                <value>小义</value>
                <value>小春</value>
            </list>
        </property>
        <!--对类Properties 属性集的依赖注入  -->
        <property name="pro">
            <props>
                <prop key="pp1">pp1</prop>
                <prop key="pp2">pp2</prop>
            </props>      
        </property>    
    </bean>
 </beans>

3、建立测试类

public class TestPeople {
    public static void main(String[] args) {
         /* ApplicationContext  ac =new ClassPathXmlApplicationContext("bean.xml");*/
          ApplicationContext ac = new FileSystemXmlApplicationContext("classpath:bean.xml");
          People p= (People) ac.getBean("people");
          System.out.println(p.toString());
    }

}

总结:构造方法注入,跟以上类似,不过需要在People类中添加所需的构造方法后,以三个参数为例,在配置文件中配置即可 

 <bean id="p" class="cn.web.neusoft.entity.People">
        <constructor-arg index="0" value="小春子"></constructor-arg>
        <constructor-arg index="1" value="11"></constructor-arg>
        <constructor-arg index="2" value="男"></constructor-arg>
 </bean>

不过值得注意的是,如果同时配置了构造方法和set方法注入,最终结果是set方法的值,前面的值被覆盖了。

零基础实战:用 Docker 和 vLLM 本地部署 bge-reranker-v2-m3 重排序模型 本文介绍了如何利用Docker容器和vLLM推理框架在本地部署BAAI开发的bge-reranker-v2-m3文本排序模型。 阅读详情

相关推荐

MATLAB联合Fluent优化仿真

matlab与fluent交互

keleke_的博客 4730

java spring IOC xml方式注入(数组 list集合 map集合 set集合)类型属性

和我同名 会避免一些找不到资源的麻烦 毕竟说 你们开发代码大部分会在这篇文章拿过去 当然 名称是看自己去取的 只是和我同名会方便一些 直接复制过去就好了。这里 注入了 四种类型的变量书写方案 大家可以看一下 其实除了map是键值对 注入方式相对特殊一点 其他三种都是基本一样的。我们先创建一个基本的java项目 然后引入 spring 的基本依赖。然后这个方法就用来输出测试 直接的看到我们注入进去的属性。然后在src下创建测试类 text 参考代码如下。

weixin_45966674的博客 1087

立创·庐山派-K230-CanMV(嘉楠勘智)开发板通过ATK-ESP8266实现图像识别数据无线传输与原子云对接

本文详细介绍了如何利用立创·庐山派K230开发板与ATK-ESP8266模块实现图像识别数据的无线传输及与原子云平台的对接。通过硬件连接、环境配置、代码实现及调试技巧的讲解,为开发者提供了一套完整的物联网解决方案,特别适用于智能监控和边缘计算场景。

study的专栏 950

spring学习教程9-spring中关于集合的配置方式

spring中关于集合的配置方式 spring的配置依赖注入是我们看到了它给以自动name和value来配置基本的数据类型,如果不是基本的数据类型该咋办?? 一般的不是基本类型的属性有这些类型:集合类型,引用类型,数组 一,引用类型的依赖配置,如果我们在Property标签中配置name属性的内容为引用类型,会有另一个属性ref为我们配置引用类型。 例子:

qq_26464179的博客 385

INMP441麦克风避坑指南:为什么你的I2S录音总有杂音?(附示波器调试技巧)

本文针对INMP441麦克风与ESP32等MCU通过I2S接口连接时常见的录音杂音问题,提供了一套系统的硬件调试指南。文章深入剖析了电源纹波、信号完整性、接地环路及时钟抖动四大噪声根源,并详细讲解了如何使用示波器进行逐层排查,给出了增加LC滤波、串联阻尼电阻、优化布局布线等切实可行的解决方案,帮助开发者从根本上提升音频质量。

k0l1m2n3o的博客 1023

unity游戏开发日志(一)将mmd模型导入unity,并解决材质丢失的问题

unity音乐游戏开发,导入角色模型并解决材质问题

yizhigou1的博客 1762

springboot读取.properties配置文件中的map和list类型配置参数

.properties文件中存放一组配置参数,分别为map类型和list类型,做测试方式,读取配置参数。 1、配置文件application.properties添加如下参数: #map 第一种方式 data.person.name=zhangsan data.person.sex=man data.person.age=11 data.person.url=xxxxxxxx #map 第二...

JThreeStone的博客 5万+

Unity VR 零基础开发之 Pico4 MR

2、弹出弹窗后,点击Android选项,然后再点击Switch Platform按钮切换成安卓平台。3、切换完成后Android选项后面会显示unity图标。

十画的博客 5108

Spring 复杂类型属性注入(数组、list集合、map集合、properties类型)

Spring 复杂类型属性注入(数组、list集合、map集合、properties类型) 复杂类型的属性有4种:数组、list集合、map集合、properties类型 分别对这四种复杂属性的注入方法进行整理。 1.先创建一个实体类Person: package cn.itcast.person; import java.util.*; /** * @author Lenovo * ...

秒怂_z 1025

【100%通过率】华为OD机试真题 Python 实现【高矮个子排队】【2023 Q2 | 100分】

我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或者相等;要求小朋友们移动的距离和最小,第一个从“高”位开始排,输出最小移动距离即可。移动距离的定义如下所示:第二位小朋友移到第三位小朋友后面,移动距离为1,若移动到第四位小朋友后面,移动距离为2。现在有一队小朋友,他们高矮不同,,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。1:其实题目理解之后就知道,目标是要保证最小移动距离,且以高位为起点。2:try catch 异常处理。

MISAYAONE的博客 3144

使用Transformer实现自动调制识别(RML2018)

image_size = 1024 # resize重置输入大小patch_size = 16 # 从输入图片中将被提取的块大小# 分成 num_patches 个块num_patches = (image_size // patch_size) #(72/6)**2 横着裁剪),],return x})

QAQIknow的博客 1324

SpringBoot读取properties配置文件

application.properties #map 第一种方式 data.person.name=zhangsan data.person.sex=man data.person.age=11 data.person.url=xxxxxxxx #map 第二种方式 data.person[name]=zhangsan data.person[sex]=man data.person[age...

小蝌蚪的博客 8732

C#上位机通信层封装:西门子S7NetPlus库的优雅使用

支持S7-1200/1500(机架号0,槽号1)、S7-300/400(机架号/槽号需根据实际配置);支持位(Bit)、字节(Byte)、字(Word)、双字(DWord)、浮点数(Float/Double)等数据类型的读写;支持DB块、输入寄存器(I)、输出寄存器(Q)、内存寄存器(M)、定时器(T)、计数器(C)的操作;轻量无依赖,兼容.NET 5+。首先定义核心枚举和常量,统一规范参数类型,避免硬编码。/// 西门子PLC型号(对应不同的机架/槽号默认配置)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1085

很难出错的Spring5(二)—— spring配置文件详解、依赖注入的几种方式

beans.xml定义的对象,前面的会被覆盖!进一步测试,如果bean.xml 、bean2.xml和bean3.xml里对象helloJJ的对象名都相同,但是别名不同,能否实现通过别名获取不同对象呢?不能,只能获取最后一个被import进来的同名对象,前面的同名对象都被覆盖了。这里很奇怪。

qq_44886213的博客 122

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

Spring系列——两万字长文教会你Spring (超详细!!!)

到此,我们学习完了 Spring 框架,包括: Spring 体系结构 Spring Bean Spring AOP Spring JDBC Spring 事务管理 写此文章是为了做个笔记,等以后自己忘记了可以回头快速上手。同时也分享给小伙伴们,希望我们都能越来越好,不会就学 B 站,不懂就问 AI,总好过自己两耳不闻窗外事的独自琢磨。 最后认识一下吧,笔者叫`北迁`,hhh~~。

weixin_63009611的博客 1181

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JavaWeb学习

#前端部分(了解)课程思路、前端要素(Web了解、html、JS、vue、ajax、Element等)传统路线现在课程大纲路线## 前端要素(Web了解、html)HTML语法特点基本标签html标签(span)html标签(a)html标签(video)盒子模型:html标签(div)html标签(表格)html标签(表单)## 前端要素(JS)JS引入方式JS基础语法JS函数JS对象(基础(只关注Array、String、JSON)、BOM、DOM)JS事件监听## 前端要素(Vue)插值表达式Vue常

qq_2634545805的博客 430

Spring @Value@Configuration注入map、List、Bean,注入失败看这篇就够了

spring @Value@Configuration注入map、List、Bean看这篇就够了

aattxx的博客 4025

Spring用@Autowired注入Map类型Bean时报错解决

异常如下nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [java.lang.String] found for dependency [map with value type java.lang.String]: expec

Ydoing的专栏 1万+

Spring问题集-1

Spring集合注入问题.1

汤键的博客 547

springboot读取XXX.properties自定义配置文件中的map和list类型配置参数

springboot读取XXX.properties自定义配置文件中的map和list1. maven的pom.xml文件中添加如下依赖2. 配置文件 XXX.properties添加如下参数3.写一个DataConfig类,用来读取配置信息测试类测试如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义...

peter_ou的博客 1万+

spring property 复杂类型属性注入:MAP/LIST/SET

&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"&gt;&lt;beans&gt;  &lt;bean id="ch

zbajie001的博客 6479

springboot 配置嵌套map和list参数(全网最全)

.properties文件中存放一组配置参数,分别为map类型和list类型,包含各种嵌套的map,List,map,List等复杂类型,做测试方式,读取配置参数。

lixinkuan的博客 1万+

spring心得4--setter注入集合(set、list、map、properties等多种集合,配有案例解析)@基本装...

1. 基本装配 在spring容器内拼凑bean叫做装配。装配bean的时候,需要告诉容器哪些bean以及容器如何使用依赖注入将它们配合在一起。 使用XML装配(xml是最常见的spring应用系统配置源。) 几种spring容器都支持使用xml装配bean,包括: 1).XmlBeanFactory:调用InputStream载入上...

weixin_30338481的博客 239

SpringBoot参数校验--List类型

    我们在写后台接口的时候,通常会定义DTO来接收参数,在DTO中使用注解书写验证的规则;然后在Controller层使用@validated注解来验证自己制定的校验规则。但当我们的接口接收的参数为List&lt;E&gt;时,可以使用本文的方法进行校验。注:工具类部分代码在最后 包含验证规则的实体类: import io.swagger.annotations.ApiModel; ...

SicongFu的博客 2万+

Spring中Map集合定义

习惯了把集合定义在一个类的字段中,今天遇到想重用集合的定义,竟然不知道单独的集合Bean应该怎么定义了,记之,以备后用。 对Map来说,有一种比较搓的方法,就是直接用Map的构造函数: [code="java"] ...

meiyx89的博客 1217

Spring的Map注入原理

此处解析map,需要注意的是key的类型一定要是String,用来存放beanName,value就是对应的BeanType,否则就不会继续解析。注:单个类型的Bean和多个类型的Bean匹配逻辑是同一套,只不过单个Bean如果匹配到多个符合条件的候选项的情况下,最终会通过Bean名称进行匹配。参数类型如果是数组,Collection,Map类型则会被此方法解析,如果是单个对象则会被findAutowireCandidates方法进行解析。此处开始真正的解析参数获取Bean对象。将匹配的Bean进行返回。

m0_48767062的博客 1821

spring注入list集合

spring可以帮助我们自动的完成bean属性的注入,其中有一个比较特殊的,就是list集合 spring中,在使用@Autowired注解注入list集合的时候,并不会根据注入属性值的类型去容器中查找,而是根据list集合的元素类型,从spring容器中找到所有的实现类,放在list集合中,然后注入到bean中 ...

小小少年的博客 1万+
上一篇: Spring容器的两种方式详解
下一篇: Java使用JNDI技术连接数据库
AN_MIN
博客等级 码龄10年 12粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值