Spring2.0技巧系列之简洁配置

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

Spring2.0在配置上调整了不少地方,增加更加灵活、简洁的配置方式,本文通过两个简单的示例来演示。
配置Apache的一个数据源连接池,在Spring 2.0以前的版本中,我们可以使用类似下面的配置:
<?xml version="1.0" encoding="UTF-8"?>
ttp://www.springframework.org/dtd/spring-beans.dtd">http://www.springframework.org/dtd/spring-beans.dtd">
<beans><br><bean id="dataSource"></bean>class="org.apache.commons.dbcp.BasicDataSource"<br>destroy-method="close"&gt;<br><property name="driverClassName"><br><value>org.gjt.mm.mysql.Driver</value></property><br><property name="url"><br><value>jdbc:mysql://127.0.0.1:3306/easyjf-bbs</value></property><br><property name="username"><value>root</value></property><br><property name="password"><value>mypass</value></property><br><br></beans>

在Spring2.0中,可以把<value>及<ref>两个标签作为其父级<bean>标签的一个属性来定义,这样使得配置文件更加简洁,如下所示:<br><?xml version="1.0" encoding="UTF-8"?><br>ttp://www.springframework.org/dtd/spring-beans.dtd"&gt;http://www.springframework.org/dtd/spring-beans.dtd"&gt;<br><beans><br><bean id="dataSource"></bean>class="org.apache.commons.dbcp.BasicDataSource"<br>destroy-method="close"&gt;<br><property name="driverClassName"></property>value="org.gjt.mm.mysql.Driver" /&gt;<br><property name="url"></property>value="jdbc:mysql://127.0.0.1:3306/easyjf-bbs" /&gt;<br><property name="username" value="root"></property><br><property name="password" value="mypass"></property><br></beans></bean><br></ref></value>

另外,Spring2.0中还有一个非常实用的解析器,SimplePropertyNamespaceHandle,若配置文件中引用http://www.springframework.org/schema/p命令空间,则将会使用SimplePropertyNamespaceHandle来处理这个Bean的定义,可以在Spring2.0中的Bean中以更简单的方式配置设值方法注入,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="&lt;a href=" http:>http://www.springframework.org/schema/beans"<br>xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br>xmlns:p="<a href="http://www.springframework.org/schema/p">http://www.springframework.org/schema/p</a>"<br>xsi:schemaLocation="<a href="http://www.springframework.org/schema/beans">http://www.springframework.org/schema/beans</a> <a href="http://www.springframework.org/schema/beans/spring-beans.xsd">http://www.springframework.org/schema/beans/spring-beans.xsd</a>"&gt;</beans>

<bean id="dataSource"></bean>class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="org.gjt.mm.mysql.Driver"
p:url="jdbc:mysql://127.0.0.1:3306/easyjf-bbs" p:username="root" p:password="mysql" />

在上面的配置中,使用p:url则可以直接注入BasicDataSource的url属性值,可以使用p:url-ref属性来引用另外一个Bean。
如,Spring2.0以前的一个DAO配置:
<bean id="userDao" class="com.easyjf.bbs.dbo.springjdbc.UserDaoSpringJdbc"><br><property name="dataSource"><ref bean="dataSource"></ref></property><br></bean>
使用简短属性方式,则改成如下:
<bean id="userDao" class="com.easyjf.bbs.dbo.springjdbc.UserDaoSpringJdbc" p:datasource-ref="dataSource"></bean>

Spring2.0比以前的版本配置更加灵活、简洁,如果手工书写配置,则比较实用。当然,老的配置方式有很多开发工具如MyEclipse等都能识别,不需要我们动手一点一点的录入配置文件,大多数工具对新的配置方式还不能识别,因此,请根据实际情况酌情使用。

由于水平有限,文中不足之处欢迎广大Spring爱好者不吝指教,请“春迷”勿拢!

(注:本文作者,EasyJF开源团队 大峡,转载请保留作者声明!)



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1031236


你可能感兴趣的:(apache,spring,bean,mysql,bbs)