Spring公共属性注入

2009.01.26 / 标签: ,, / 分类: J2EE技术
Sofa

假设现在有两个实体类,它们的属性如下图所示。现在只有两个,我们可以很轻易的进行注入配置。可是,倘若项目中的实体类很多呢?那岂不又得在配置上花费大量时间了?有没有什么好办法减少编写配置文件呢?
首先来分析一下这两个类,他们两个都有相同的属性id和name。为了避免重复性的编写这些属性配置,可以这么来做:
在applicationContext.xml文件中使用标签将两个类的相同属性抽取出来配置到abstractBean中,与其他Bean所不同的是不需要配置class属性,而需要设置它的abstract属性为true。

<bean id="abstractBean" abstract="true" >
<property name="id" value="1"/>
<property name="name" value="neeke"/>
</bean>

接下来,配置Bean1。class属性指定为实体类Bean1,指定它的parent为abstractBean。这就意味着Bean1继承了abstractBean,也就是说Bean1拥有了abstractBean的所有属性了。所以,接下来仅仅需要配置email即可。

<bean id="bean1" class="cn.ineeke.spring.Bean1" parent="abstractBean">
<property name="email" value="neeke@ineeke.com"/>
</bean>

同理对Bean2进行配置。完整applicationContext.xml配置代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="abstractBean" abstract="true" >
<property name="id" value="1"/>
<property name="name" value="neeke"/>
</bean>
<bean id="bean1" class="cn.ineeke.spring.Bean1" parent="abstractBean">
<property name="email" value="neeke@ineeke.com"/>
</bean>
<bean id="bean2" class="cn.ineeke.spring.Bean2" parent="abstractBean">
<property name="password" value="123456"/>
</bean>
</beans>

Spring数据源的灵活配置巧应用

2008.05.26 / 标签: ,,,, / 分类: J2EE技术
Sofa

环境:
Java SE 1.5
Spring-2.5.1
mysql-connector-java-5.1.5.zip
Mysql 5.x
为了从数据库中取得数据,我们首先需要获取一个数据库连接。 Spring通过DataSource对象来完成这个工作。 DataSource是JDBC规范的一部分, 它被视为一个通用的数据库连接工厂。通过使用DataSource, Container或Framework可以将连接池以及事务管理的细节从应用代码中分离出来。 作为一个开发人员,在开发和测试产品的过程中,你可能需要知道连接数据库的细节。 但在产品实施时,你不需要知道这些细节。通常数据库管理员会帮你设置好数据源。
阅读全文>>

无觅相关文章插件,快速提升流量