首页 > 基础资料 博客日记

Spring 中如何注入 Java 集合

2024-09-10 01:00:07基础资料围观107

本篇文章分享Spring 中如何注入 Java 集合,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识


💖The Begin💖点点关注,收藏不迷路💖

在 Spring 框架中,通过 XML 配置或注解的方式可以轻松地为 Bean 注入集合类型的数据,包括 List、Set、Map 和 Properties。

1. 注入 List 集合

List 集合允许元素重复,且元素是有序的。在 Spring 的 XML 配置中,可以通过 <list> 标签来注入 List 类型的集合。

<bean id="myListBean" class="com.example.MyListBean">  
    <property name="myList">  
        <list>  
            <value>元素1</value>  
            <value>元素2</value>  
            <value>元素3</value>  
        </list>  
    </property>  
</bean>

在上面的例子中,MyListBean 类有一个名为 myList 的 List 类型属性,Spring 会自动将这个 List 注入到该属性中。

2. 注入 Set 集合

Set 集合与 List 类似,但不允许元素重复,且元素是无序的。使用 <set> 标签来注入 Set 类型的集合。

<bean id="mySetBean" class="com.example.MySetBean">  
    <property name="mySet">  
        <set>  
            <value>元素A</value>  
            <value>元素B</value>  
            <!-- 尝试添加重复元素不会改变集合内容 -->  
            <value>元素A</value>  
        </set>  
    </property>  
</bean>

同样地,MySetBean 类有一个 Set 类型的属性 mySet,Spring 会负责注入。

3. 注入 Map 集合

Map 集合用于存储键值对。在 Spring 的 XML 配置中,<map> 标签用于注入 Map 类型的集合,其中 <entry> 标签用于定义键值对。

<bean id="myMapBean" class="com.example.MyMapBean">  
    <property name="myMap">  
        <map>  
            <entry key="key1" value="值1"/>  
            <entry key="key2" value="值2"/>  
        </map>  
    </property>  
</bean>

MyMapBean 类有一个 Map 类型的属性 myMap,Spring 会将定义的键值对注入到这个 Map 中。

4. 注入 Properties

Properties 集合是键值对的另一种表示形式,但它通常用于存储字符串类型的键值对。在 Spring 中,<props> 标签(注意这里是 props 而不是 properties)用于注入 Properties 类型的集合。

<bean id="myPropertiesBean" class="com.example.MyPropertiesBean">  
    <property name="myProperties">  
        <props>  
            <prop key="keyA">A</prop>  
            <prop key="keyB">B</prop>  
        </props>  
    </property>  
</bean>

MyPropertiesBean 类有一个 Properties 类型的属性 myProperties,Spring 会将定义的键值对注入到这个 Properties 对象中。


💖The End💖点点关注,收藏不迷路💖

文章来源:https://blog.csdn.net/qq_41840843/article/details/140387336
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云