Spring中Bean配置示例

Spring中Bean配置示例:

下面是一个较为完整的Bean配置示例:
<beans>
   <description>Spring Bean Configuration Sample</description>
  <bean
   id="TheAction" 
   class="net.xiaxin.spring.qs.UpperAction"
   singleton="true" 
   init-method="init" 
   destroy-method="cleanup" 
   depends-on="ActionManager" 
   >

   <property name="message">
      <value>HeLLo</value> 
   </property>  


<property name="desc">
      <null/>
   </property>

   <property name="dataSource">
       <ref local="dataSource"/> 
   </property>
  </bean>

  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>java:comp/env/jdbc/sample</value>
    </property>
  </bean>
</beans>

1、 id
Java Bean在BeanFactory中的唯一标识,代码中通过BeanFactory获取JavaBean实例时需以此作为索引名称。

2、 class
Java Bean 类名

3、 singleton
  指定此Java Bean是否采用单例(Singleton)模式,如果设为“true”,则在BeanFactory作用范围内,只维护此Java Bean的一个实例,代码通过BeanFactory获得此Java Bean实例的引用。反之,如果设为“false”,则通过BeanFactory获取此Java Bean实例时,BeanFactory每次都将创建一个新的实例返回。

4、init-method
   初始化方法,此方法将在BeanFactory创建JavaBean实例之后,在向应用层返回引用之前执行。一般用于一些资源的初始化工作。

5、destroy-method
   销毁方法。此方法将在BeanFactory销毁的时候执行,一般用于资源释放。

6、 depends-on
   Bean依赖关系。一般情况下无需设定。Spring会根据情况组织各个依赖关系的构建工作(这里示例中的depends-on属性非必须)。只有某些特殊情况下,如JavaBean中的某些静态变量需要进行初始化(这是一种BadSmell,应该在设计上应该避免)。通过depends-on指定其依赖关系可保证在此Bean加载之前,首先对depends-on所指定的资源进行加载。

7、 <value>
   通过<value/>节点可指定属性值。BeanFactory将自动根据Java Bean对应的属性类型加以匹配。下面的”desc”属性提供了一个null值的设定示例。注意<value></value>代表一个空字符串,如果需要将属性值设定为null,必须使用<null/>节点。

8、 <ref>
  指定了属性对BeanFactory中其他Bean的引用关系。示例中,TheAction的dataSource属性引用了id为dataSource的Bean。BeanFactory将在运行期创建dataSource bean实例,并将其引用传入TheAction Bean的dataSource属性。

下面的代码演示了如何通过BeanFactory获取Bean实例:
   InputStream is = new FileInputStream("bean.xml");
   XmlBeanFactory factory = new XmlBeanFactory(is);
   Action action = (Action) factory.getBean("TheAction");

此时我们获得的Action实例,由BeanFactory进行加载,并根据配置文件进行了初始化和属性设定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值