Vincent

          Vicent's blog
          隨筆 - 74, 文章 - 0, 評論 - 5, 引用 - 0
          數(shù)據(jù)加載中……

          Spring技巧之簡潔配置

          Spring2.0在配置上調(diào)整了不少地方,增加更加靈活、簡潔的配置方式,本文通過兩個簡單的示例來演示。
          ??????配置Apache的一個數(shù)據(jù)源連接池,在Spring?2.0以前的版本中,我們可以使用類似下面的配置:
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
          <beans>
          <bean?id="dataSource"
          ??
          class="org.apache.commons.dbcp.BasicDataSource"
          ??destroy
          -method="close">
          ??
          <property?name="driverClassName">
          ???
          <value>org.gjt.mm.mysql.Driver</value></property>
          ??
          <property?name="url">
          ???
          <value>jdbc:mysql://127.0.0.1:3306/easyjf-bbs</value>?</property>
          ??<property?name="username"><value>root</value>?</property>
          ??
          <property?name="password"><value>mypass</value></property>
          ?
          </bean>
          </beans>
          ?
          ??????在Spring2.0中,可以把<value>及<ref>兩個標簽作為其父級<bean>標簽的一個屬性來定義,這樣使得配置文件更加簡潔,如下所示:
          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
          <beans>
          <bean?id="dataSource"
          ??
          class="org.apache.commons.dbcp.BasicDataSource"
          ??destroy
          -method="close">
          ??
          <property?name="driverClassName"
          ???value
          ="org.gjt.mm.mysql.Driver"?/>
          ??
          <property?name="url"
          ???value
          ="jdbc:mysql://127.0.0.1:3306/easyjf-bbs"?/>
          ??
          <property?name="username"?value="root"?/>
          ??
          <property?name="password"?value="mypass"?/>
          ?
          </bean>
          </beans>


          ?????? 另外,Spring2.0中還有一個非常實用的解析器,SimplePropertyNamespaceHandle,若配置文件中引用http: //www.springframework.org/schema/p命令空間,則將會使用 SimplePropertyNamespaceHandle來處理這個Bean的定義,可以在Spring2.0中的Bean中以更簡單的方式配置設(shè)值方法注入,如下所示:
          <?xml?version="1.0"?encoding="UTF-8"?>
          <beans?xmlns="http://www.springframework.org/schema/beans"
          ?xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
          ?xmlns:p
          ="http://www.springframework.org/schema/p"
          ?xsi:schemaLocation
          ="http://www.springframework.org/schema/beans?http://www.springframework.org/schema/beans/spring-beans.xsd">

          <bean?id="dataSource"
          ??
          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"?/>
          </beans>


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


          Spring2.0比以前的版本配置更加靈活、簡潔,如果手工書寫配置,則比較實用。當然,老的配置方式有很多開發(fā)工具如MyEclipse等都能識別,不需要我們動手一點一點的錄入配置文件,大多數(shù)工具對新的配置方式還不能識別,因此,請根據(jù)實際情況酌情使用。

          posted on 2006-08-22 09:56 Binary 閱讀(274) 評論(0)  編輯  收藏 所屬分類: Spring


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 榆树市| 盐亭县| 新源县| 荃湾区| 鄂托克前旗| 容城县| 遂昌县| 开封县| 当阳市| 定南县| 牡丹江市| 宝坻区| 拉孜县| 霞浦县| 泰来县| 通江县| 大洼县| 图片| 来宾市| 宿迁市| 龙里县| 乐亭县| 阳信县| 博罗县| 湾仔区| 桓仁| 淮北市| 婺源县| 平舆县| 兴业县| 攀枝花市| 凤翔县| 马关县| 凭祥市| 即墨市| 柏乡县| 山丹县| 沅江市| 临安市| 广南县| 铁岭市|