- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <!--
- -ApplicationcontextdefinitionforPetCliniconJDBC.
- -->
- <beans>
- <!--=========================RESOURCEDEFINITIONS=========================-->
- <!--Configurerthatreplaces${...}placeholderswithvaluesfromapropertiesfile-->
- <!--(inthiscase,JDBC-relatedsettingsforthedataSourcedefinitionbelow)-->
- <!--
- <beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <propertyname="location"value="/WEB-INF/jdbc.properties"/>
- </bean>
- -->
- <!--
- SimplelocalDataSourcethatworksinanyenvironment.
- ThisusestheJDBCDriverManagertoobtainconnections,anddoesNOTperformconnection
- pooling.Connectionpoolingisessentialtoallreal-worldapplications.
- Thisdefinitionisgoodforgettingstarted,asitintroducesnodependenciesbeyond
- theJDK,butDriverManagerDataSourceisnotintendedforproductionusage.
- -->
- <!--
- <beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <propertyname="driverClassName"value="${jdbc.driverClassName}"/>
- <propertyname="url"value="${jdbc.url}"/>
- <propertyname="username"value="${jdbc.username}"/>
- <propertyname="password"value="${jdbc.password}"/>
- </bean>
- -->
- <!--在spring中直接配置jdbc链接
- <beanid="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <propertyname="driverClassName"
- value="net.sourceforge.jtds.jdbc.Driver"/>
- <propertyname="url"
- value="jdbc:jtds:sqlserver://localhost:1433/wmjqxgl;SelectMethod=cursor;charset=GBK;tds=8.0;lastupdatecount=true"/>
- <propertyname="username"value="sa"/>
- <propertyname="password"value="sa"/>
- </bean>-->
- <!--通过proxool来配置数据源-->
- <beanid="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <propertyname="driverClassName"
- value="org.logicalcobwebs.proxool.ProxoolDriver"/>
- <propertyname="url"
- value="proxool.qxgldb"/>
- </bean>
- <!--
- AlternativelocalDataSourcethatworksinanyenvironment,andoffersmuchbetterperformance.
- UsesApacheCommonsDBCPforconnectionpooling.SeeCommonsDBCPdocumentation
- fortherequiredJARfiles.SeethePetStoresampleapplicationalsoshippedwith
- Spring,foranexampleofCommonsDBCPusageandthenecessarybuildscript.
- AlternativelyyoucanuseanotherconnectionpoolsuchasC3P0,similarlyconfigured
- usingSpring.
- AstandaloneconnectionpoolsuchasCommonsDBCPisagoodchoiceforuseoutsidean
- applicationserverenvironment,includingwebapplicationsrunninginawebcontainerwithout
- JTA,orintegrationtestingusingtheorg.springframework.testpackage.
- -->
- <!--
- <beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">
- <propertyname="driverClassName"value="${jdbc.driverClassName}"/>
- <propertyname="url"value="${jdbc.url}"/>
- <propertyname="username"value="${jdbc.username}"/>
- <propertyname="password"value="${jdbc.password}"/>
- </bean>
- -->
- <!--JNDIDataSourceforJ2EEenvironments-->
- <!--
- <beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean">
- <propertyname="jndiName"value="java:comp/env/jdbc/petclinic"/>
- </bean>
- -->
- <!--TransactionmanagerforasingleJDBCDataSource(alternativetoJTA)-->
- <beanid="transactionManager"
- class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <propertyname="dataSource"ref="dataSource"/>
- </bean>
- <!--TransactionmanagerthatdelegatestoJTA(foratransactionalJNDIDataSource)-->
- <!--
- <beanid="transactionManager"class="org.springframework.transaction.jta.JtaTransactionManager"/>
- -->
- <beanid="baseTransactionProxy"abstract="true"
- class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <propertyname="transactionManager">
- <refbean="transactionManager"/>
- </property>
- <propertyname="transactionAttributes">
- <props>
- <propkey="create*">
- PROPAGATION_REQUIRED,-Exception
- </prop>
- <propkey="update*">
- PROPAGATION_REQUIRED,-Exception
- </prop>
- <propkey="delete*">
- PROPAGATION_REQUIRED,-Exception
- </prop>
- <propkey="get*">PROPAGATION_REQUIRED,readOnly</prop>
- <propkey="retrieve*">
- PROPAGATION_REQUIRED,readOnly
- </prop>
- <propkey="*">PROPAGATION_REQUIRED,-Exception</prop>
- </props>
- </property>
- </bean>
- <!--
- 通过BeanNameAutoProxyCreator来实现spring的事务控制-->
- <bean
- class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
- <propertyname="transactionInterceptor"
- ref="transactionInterceptor"/>
- </bean>
- <beanid="transactionInterceptor"
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
- <propertyname="transactionManager">
- <refbean="transactionManager"/>
- </property>
- <propertyname="transactionAttributes">
- <props>
- <propkey="create*">
- PROPAGATION_REQUIRED,-Exception
- </prop>
- <propkey="update*">
- PROPAGATION_REQUIRED,-Exception
- </prop>
- <propkey="delete*">
- PROPAGATION_REQUIRED,-Exception
- </prop>
- <propkey="get*">PROPAGATION_REQUIRED,readOnly</prop>
- <propkey="retrieve*">
- PROPAGATION_REQUIRED,readOnly
- </prop>
- <propkey="*">PROPAGATION_REQUIRED,-Exception</prop>
- </props>
- </property>
- </bean>
- <bean
- class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
- <propertyname="beanNames">
- <value>*ServiceDao</value>
- </property>
- <propertyname="interceptorNames">
- <list>
- <value>transactionInterceptor</value>
- </list>
- </property>
- </bean>
- <!--=========================BUSINESSOBJECTDEFINITIONS=========================-->
- </beans>