我愛熊貓

          最新評論

          spring aop 之三利用aop實現池

          spring默認是singleton的,在2.5中可以實現池,這樣在獲取bean實例時就可以從池中獲取。

          xml的配置:

          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans
          <bean id="groupUserTarget" class="cn.com.ultrapower.domain.GroupUser" scope="prototype">
          </bean>
          <bean id="poolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
          <property name="targetBeanName" value="groupUserTarget"/>
          <property name="maxSize" value="5"/>
          </bean>

          <bean id="groupUser" class="org.springframework.aop.framework.ProxyFactoryBean">
          <property name="targetSource" ref="poolTargetSource"/>
          </bean>

          </beans>

          這里GroupUser是一個模型,模擬某組用戶,是一個普通的javabean。poolTargetSource中設置了maxSize,表示最大值是5。并且獲取groupUser的方式是使用ProxyFactoryBean。

          獲取groupUser的方式如下:
          public static void main(String[] args) {
          for (int i = 0; i < 6; i++) {
          // 通過池獲取
          GroupUser gu = (GroupUser)BeanFactory.getInstance().getBean("groupUser");
          // 不通過池,直接獲取,則每次都重新創建
          // GroupUser gu = (GroupUser)BeanFactory.getInstance().getBean("groupUserTarget");
          System.out.println(gu.toString());
          }
          }
          在groupUser中使用

          public groupUser(){

          System.out.println("creat a groupUser");

          }

          這樣就可以看到groupUser創建了幾次。

          posted on 2008-06-07 21:23 flyoo 閱讀(63) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 莒南县| 南充市| 顺平县| 密云县| 巴中市| 三亚市| 阜南县| 固始县| 睢宁县| 巴马| 老河口市| 泗洪县| 光山县| 中牟县| 大港区| 资源县| 台湾省| 香港 | 尚义县| 蕉岭县| 衢州市| 隆安县| 渭源县| 仁布县| 安平县| 宕昌县| 日土县| 广水市| 苍南县| 天津市| 广宗县| 崇信县| 南召县| 会昌县| 盐山县| 宁南县| 昔阳县| 光泽县| 湛江市| 精河县| 郎溪县|