一. 注入方式
1.1 直接注入属性值
<property name="name" value="123"/>
<property name="name" value="<![CDATA[a&b]]>"/>
<property name="name" value="a&b"/>
<bean id="name" class="java.lang.String">
<constructor-arg value="adu"></constructor-arg>
</bean>
<![CDATA[]]>是让XML解析器将标签中的字符串当作普通的文本处理。
XML中有5个特殊的字符,即: &<>"'。如果注入值包括这些特殊字符,就需要进行特别处理。
- <![CDATA[]]>方式;
- 使用XML转义序列,如:a&b
1.2 引用其他Bean
<property name="dataSource" ref="dataSource" />
1.3 内部Bean
<property name="configuration">
<bean class="org.apache.hadoop.conf.Configuration">
<property name="hdfsName" value="${hdfs.default.name}" />
</bean>
</property>
1.4 null值
<property name="dataSource"><null/></property>
1.5 set
<property name="sets">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
</set>
</property>
1.6 list
<property name="lists">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
1.7 properties
<property name="properties">
<props>
<prop key="props-key1">1</prop>
<prop key="props-key2">2</prop>
<prop key="props-key3">3</prop>
</props>
</property>
1.8 map
<property name="maps">
<map>
<entry key="key1" value="1"/>
<entry key="key2" value="2"/>
<entry key="key3" value="3"/>
</map>
</property>
二. 整合多个配置文件
<beans>
<import resource="classpath:/com/adu/service/service.xml" />
<import resource="classpath:/com/adu/dao/dao.xml" />
<import resource="classpath:/com/adu/manager/manager.xml" />
</beans>
三. Bean作用域
<bean id="appMain" class="com.adu.server.AppMain" scope="prototype"></bean>
类别 | 说明 |
---|---|
singleton | 容器中仅存在一个实例(默认) |
prototype | 每次调用,都返回一个新的实例 |
request | 每次HTTP请求都会创建一个新的实例 |
sesion | 同一个session共享一个bean |
globalSession | 同一个全局session共享一个bean |