一般我们知道在property属性里面定义一个无id的map是比较容易的, 但是如何将map定义一个单独的bean, 以便重用, google了一下,
这里给出了说明, 不过有些问题, 没有value那个节点, 不知道是否spring版本的问题, 修改之后, 备注一下.
<bean id="SymbolMap" class="java.util.HashMap">
<constructor-arg>
<map>
<entry>
<key><value><![CDATA[us;djia]]></value></key>
<value><![CDATA[us&dji]]></value>
</entry>
</map>
</constructor-arg>
</bean>
还用另外一种形式:
<bean id="emails" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="pechorin" value="pechorin@hero.org"/>
<entry key="raskolnikov" value="raskolnikov@slums.org"/>
<entry key="stavrogin" value="stavrogin@gov.org"/>
<entry key="porfiry" value="porfiry@gov.org"/>
</map>
</property>
</bean>
<bean id="fieldMap" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="title" value-ref="obj"></entry>
<entry key="reserve_price" value-ref="double"></entry>
<entry key="auction_status" value-ref="obj"></entry>
<entry key="quantity" value-ref="obj"></entry>
<entry key="options" value-ref="obj"></entry>
<entry key="spu_id" value-ref="obj"></entry>
<entry key="sold_quantity" value-ref="obj"></entry>
<entry key="features" value-ref="obj"></entry>
<entry key="category" value-ref="obj"></entry>
<entry key="user_id" value-ref="obj"></entry>
<entry key="auction_id" value-ref="obj"></entry>
<entry key="gmt_modified" value-ref="date"></entry>
<entry key="pict_url" value-ref="obj"></entry>
<entry key="sync_version" value-ref="obj"></entry>
</map>
</property>
</bean>
<bean id="date" class="java.lang.Class" factory-method="forName">
<constructor-arg value="java.util.Date"/>
</bean>
<bean id="double" class="java.lang.Class" factory-method="forName">
<constructor-arg value="java.lang.Double"/>
</bean>
<bean id="obj" class="java.lang.Class" factory-method="forName">
<constructor-arg value="java.lang.Object"/>
</bean>
分享到:
相关推荐
- **属性注入**:Spring会将依赖注入到Bean中,包括值注入(value,ref)和集合注入(list,map,props,set)。 - **初始化回调**:Spring支持两种类型的初始化回调方法,即`@PostConstruct`注解的方法和在XML中...
本文将深入探讨如何在Spring中通过XML配置文件对Bean进行值的注入,包括List、Set和Map等集合类型的注入。 首先,我们需要了解Spring Bean的定义。在Spring中,Bean是一个被Spring容器管理的对象,它可以通过XML、...
Spring的`<beans>`和`<bean>`元素及其属性提供了强大的配置能力,使开发者能够灵活地定义、配置和管理应用程序中的组件。通过深入了解这些元素和属性,开发人员可以更有效地利用Spring框架的功能,构建更加健壮和可...
- **功能概述**:`<beans>`是Spring配置文件的根元素,用来包含一个或多个`<bean>`元素,用于定义Spring容器管理的各种Bean。 #### 二、`<bean>`元素详解 - **基础配置**: - **`class`属性**:表示JavaBean的全...
14. **非XML定义文件的配置方式**:除了传统的XML配置,Spring还支持.properties文件和Java配置类来定义Bean,使得配置更加灵活且类型安全。 通过学习和实践这些内容,开发者可以更好地理解和掌握Spring如何管理...
这里,"daoBeanName"是我们在Spring配置文件中定义的Bean的名称,`MyDao`是我们期望获取的Bean的类型。 **方法二:使用ServletContextAttributeExporter** 另一种方法是在Spring的XML配置文件中定义一个`...
在这个示例中,`mapToBean`方法接受一个Map和目标Bean的Class对象,首先检查参数是否有效,然后创建一个新的Bean实例,遍历Map中的每一个键值对,通过反射找到Bean中对应的Field,设置其可访问,最后调用`set()`方法...
在这个例子中,`yourMapProperty`是类`YourClass`的一个Map属性,`key1`和`key2`是Map的键,`bean1`和`bean2`是Spring容器中已经定义的bean,它们将作为Map的值。 3. **注解方式的Map注入**: 如果使用Java配置或...
对于抽象类或者接口,Spring会根据bean定义中的class属性找到其实现类,然后通过`Class.newInstance()`或者`Constructor.newInstance()`创建实例。这个过程在`createBeanInstance`方法中体现。此外,Spring还支持...
从上面的代码可以看到,Spring 的 Bean 管理机制是基于 XmlBeanFactory 读取配置文件,并将 Bean 定义保存在内存中。当用户调用 getBean 方法时,Spring 将返回对应的 Bean 对象。同时,我们也可以定义自己的 ...
在Spring中,我们可以使用`<bean>`标签来定义这些配置,并通过`<property>`标签设置相应的属性。例如,我们可以配置数据源(DataSource),如下所示: ```xml <bean id="dataSource" class="org.springframework....
集合自动装配是指Spring框架自动填充List、Map或Set类型的属性,根据配置文件中的bean定义,将相应的bean实例注入到这些集合中。这种方式减少了手动创建和管理对象的复杂性,提高了代码的可维护性和可测试性。 三、...
另外,Spring框架的Prototype bean定义也可以实现类似的功能,允许每次请求时创建一个新的bean实例。 4. **Map**: Map是Java集合框架的一部分,它存储键值对,提供一种通过键来查找值的机制。HashMap、TreeMap和...
1. **Bean定义**:在Spring中,每个bean都有一个定义,包含它的类、依赖关系、初始化方法等信息。这些信息通常写在XML配置文件中,但也可以通过注解或编程方式定义。 2. **bean的实例化**:`BeanFactory`根据bean...
以上是对Spring Core官方文档的部分内容进行的详细总结,涵盖了Spring框架中IoC容器的基础概念、Bean的配置和管理、依赖注入、Bean的作用域以及Bean定义的定制等内容。这些知识点对于理解和使用Spring框架至关重要。
- **构造函数**:`XmlBeanFactory(Resource resource)`,其中`Resource`参数表示Bean定义的资源,通常是指XML配置文件。 - **过程**: - 创建`Resource`对象,封装Bean定义信息。 - 使用`...
Spring通过Bean定义来配置和创建对象,并管理它们的生命周期。 ##### 1.2 容器概述 Spring容器可以理解为一个工厂,用于创建并管理Bean的实例。它不仅负责Bean的初始化,还支持依赖注入(Dependency Injection, DI...
2. **Singleton Objects** 和 **Singleton Factories**:Spring维护了一个名为`singletonObjects`的并发Map,存储已初始化好的Bean。当创建Bean时,如果发现BeanA正在被创建(isSingletonCurrentlyInCreation),...
XMLBeanFactory是BeanFactory的一个实现,它通过XML文件来加载Bean定义并创建Bean实例。 66、解释AOP模块。 Spring AOP模块为Spring应用中的对象提供了面向切面的编程实现。它使得开发者能够定义方法拦截器和切点,...