<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
定义一个Bean
name 可以定义多个Bean别名.id只能一个
singleton 属性表示是否单例,默认为true
depends-on 属性表示在该Bean初始化之前强制初始化 date Bean.
如果想在一个Bean 初始化之前强制初始化另外一个或多个Bean,就可以使用依赖depends-on.
init-method 属性表示该Bean的初始化函数为"init()"
若该Bean实现InitializingBean接口afterPropertiesSet()函数时,该属性可以省略,优先级比init-method低.
destroy-method 属性表示该Bean的销毁函数为"cleanUp()"
若该Bean实现DisposableBean接口destroy()函数时,该属性可以省略,优先级比destroy-method低.
-->
<bean name="HelloWord,Hello" class="com.gc.action.EnHello" singleton="true" depends-on="date" init-method="init" destroy-method="cleanUp">
<!-- 构造函数方式注入 -->
<constructor-arg index="0">
<value>gf</value>
</constructor-arg>
<!-- 将其变量 msg 以 Set 方式依赖注入
<property name="msg">
<value>gf</value>
</property>
-->
<!-- 对null值的处理
(1) <property name="msg">
<value>null</value>
</property>
(2) <property name="msg">
<null/>
</property>
-->
<!-- local属性是引用同一个XML文件中以id来命名的Bean
<property name="date">
<ref local="date" />
</property>
-->
<!-- parent 属性是引用当前BeanFactory或Application的父BeanFactory或ApplicationFactory中的Bean.
parent值可以是参考引用Bean的id属性或name属性.
<property name="date">
<ref parent="date"/>
</property>
-->
<!-- bean属性引用同一个XML文件或者非同一个XML文件中以id或name来命名的Bean -->
<property name="date">
<ref bean="date" />
</property>
</bean>
<!-- autowire 属性为自动装配属性
byName 模式指的是通过Bean的id或name属性进行自动装配
byType 模式指的就是如果XML中正好有一个与属性类型一样的Bean,就自动装配
constructor 模式指的就是根据构造函数的参数在配置文件中查找合适类型的Bean定义
autodetect 模式指的就是通过对Bean检查类的内部来选择constructor或byType.
如果先找到constructor就用constructor;如果没有constructor,而找到byType,就用byType.
no 模式指的就是不使用自动装配。这是默认的配置。
显式的指定依赖,例如property和constructor-arg元素,总会覆盖自动装配.
dependency-check 属性为依赖检查
simple 模式指的是对基本类型、字符串和集合进行依赖检查
(eg.int,boolean,...,String,List,Set,Map,Properties)
object 模式指的是对依赖的对象进行依赖检查.(不包含以上类型)
all 模式指的是对全部属性进行依赖检查
none 模式指的是不进行依赖检查
一般情况下,依赖检查和自动装配结合使用.
-->
<bean id="actionHelloWorld" class="com.gc.action.HelloWorld" dependency-check="simple">
<property name="msg">
<value>Hello Ding Jian Jia</value>
</property>
<property name="listMsg">
<!-- 集合list元素的配置方式 -->
<list>
<value>listgf</value>
<value>listgd</value>
<value>listHelloWorld</value>
</list>
</property>
<property name="setMsg">
<!-- 集合set元素的配置方式 -->
<set>
<value>setgf</value>
<value>setgd</value>
<value>setHelloWorld</value>
</set>
</property>
<property name="mapMsg">
<!-- 集合map元素的配置方式 -->
<map>
<entry key="gf">
<value>map HelloWorld</value>
</entry>
<entry key="gd">
<value>map World hello</value>
</entry>
</map>
</property>
<property name="propMsg">
<!-- 集合Properties元素的配置方式 -->
<props>
<prop key="gf">props HelloWorld</prop>
<prop key="gd">props World hello</prop>
</props>
</property>
</bean>
<!-- 负责国际化支持 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<!-- 国际化支持的定义在文件名为messages 的文件中 -->
<property name="basename">
<value>messages</value>
</property>
</bean>
<bean id="date" class="java.util.Date" />
</beans>
Spring IOC配置文件
最新推荐文章于 2022-10-30 14:49:34 发布