javascript
【2011.9.20】Spring配置文件总结
首先來看一個(gè)標(biāo)準(zhǔn)的Spring配置文件 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" xmlns:context=
"http://www.springframework.org/schema/context"
xmlns:tx=
"http://www.springframework.org/schema/tx"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
default-autowire="byName" default-lazy-init="true"
>
<!-- 配置數(shù)據(jù)源 -->
<bean id=
"dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
>
<property name="driverClassName"
>
<value>com.mysql.jdbc.Driver</value
>
</property
>
<property name="url"
>
<value
>
jdbc:mysql://localhost/ssh?characterEncoding=utf-8
</value
>
</property
>
<property name="username"
>
<value>root</value
>
</property
>
<property name="password"
>
<value>123</value
>
</property
>
</bean
>
<!--配置SessionFactory -->
<bean id=
"sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
>
<property name="dataSource"
>
<ref bean="dataSource"
/>
</property
>
<property name="mappingResources"
>
<list
>
<value>com/ssh/pojo/User.hbm.xml</value
>
</list
>
</property
>
<property name="hibernateProperties"
>
<props
>
<prop key="hibernate.show_sql">true</prop
>
</props
>
</property
>
</bean
>
<!-- 事務(wù)管理 -->
<bean id=
"transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
>
<property name="sessionFactory"
>
<ref bean="sessionFactory"
/>
</property
>
</bean
>
<!-- hibernateTemplate -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"
>
<property name="sessionFactory"
>
<ref bean="sessionFactory"
/>
</property
>
</bean
>
<!-- 配置數(shù)據(jù)持久層 -->
<bean id="userDao" class="com.ssh.dao.impl.UserDaoImpl"
>
<property name="hibernateTemplate" ref="hibernateTemplate"></property
>
</bean
>
<!-- 配置業(yè)務(wù)邏輯層 -->
<bean id="userService" class="com.ssh.service.impl.UserServiceImpl"
>
<property name="userDao" ref="userDao"></property
>
</bean
>
<!-- 配置控制層 -->
<bean id="UserAction" class="com.ssh.action.UserAction" scope="prototype"
>
<property name="userService" ref="userService"></property
>
</bean
>
<!-- 配置pojo -->
<bean id="User" class="com.ssh.pojo.User" scope="prototype"
/>
</
?
beans>
?
?
?
?
???? 下面是詳解:?
1.基本配置:
<?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:context="http://www.springframework.org/schema/context"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
??????????????????? ">
<context:component-scan base-package="com.persia">
<!-- 開啟組件掃描 -->
</context:component-scan>
<context:annotation-config>
<!--開啟注解處理器-->
</context:annotation-config>
<!-- 使用注解,省去了propertity的xml配置,減少xml文件大小 -->
<bean id="personServiceAnno" class="com.persia.PersonServiceAnnotation"></bean>
<bean id="personDaoBeanAnno" class="com.persia.PersonDaoBean"></bean>
<bean id="personDaoBeanAnno2" class="com.persia.PersonDaoBean"></bean>
<!-- 自動(dòng)注解 -->
<bean id="personServiceAutoInject" class="com.persia.PersonServiceAutoInject" autowire="byName"></bean>
<bean id="personService" class="com.persia.PersonServiceBean">
<!-- 由spring容器去創(chuàng)建和維護(hù),我們只要獲取就可以了 -->
</bean>
<bean id="personService2" class="com.persia.PersonServiceBeanFactory" factory-method="createInstance" lazy-init="true"
????? init-method="init"? destroy-method="destory">
<!-- 靜態(tài)工廠獲取bean -->
</bean>
<bean id="fac" class="com.persia.PersonServiceBeanInsFactory"></bean>
<bean id="personService3" factory-bean="fac" factory-method="createInstance" scope="prototype">
<!-- 實(shí)例工廠獲取bean,先實(shí)例化工廠再實(shí)例化bean-->
</bean>
<!-- ref方式注入屬性 -->
<bean id="personDao" class="com.persia.PersonDaoBean"></bean>
<bean id="personService4" class="com.persia.PersonServiceBean">
? <property name="personDao" ref="personDao"></property>
</bean>
<!-- 內(nèi)部bean方式注入 -->
<bean id="personService5" class="com.persia.PersonServiceBean">
? <property name="personDao">
???? <bean class="com.persia.PersonDaoBean"></bean>
? </property>
? <property name="name" value="persia"></property>
? <property name="age" value="21"></property>
?
? <property name="sets">
??? <!-- 集合的注入 -->
???? <set>
?????? <value>第一個(gè)</value>
?????? <value>第二個(gè)</value>
?????? <value>第三個(gè)</value>
???? </set>
? </property>
?
? <property name="lists">
??? <!-- 集合的注入 -->
??? <list>
??????? <value>第一個(gè)l</value>
?????? <value>第二個(gè)l</value>
?????? <value>第三個(gè)l</value>
??? </list>
???
? </property>
?
? <property name="properties">
??? <props>
????? <prop key="key1">value1</prop>
????? <prop key="key2">value2</prop>
????? <prop key="key3">value3</prop>
??? </props>
? </property>
?
? <property name="map">
?? <map>
????? <entry key="key1" value="value-1"></entry>
????? <entry key="key2" value="value-2"></entry>
????? <entry key="key3" value="value-3"></entry>
?? </map>
? </property>
</bean>
<bean id="personService6" class="com.persia.PersonServiceBean">
?? <constructor-arg index="0" value="構(gòu)造注入的name" ></constructor-arg>
?? <!-- 基本類型可以不寫type -->
?? <constructor-arg index="1" type="com.persia.IDaoBean" ref="personDao">
?? </constructor-arg>
</bean>
</beans>2.開啟AOP:
<?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:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
???????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
?????????????????? ">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<bean id="myInterceptor" class="com.persia.service.MyInterceptor"></bean>
<bean id="personServiceImpl" class="com.persia.service.impl.PersonServiceImpl"></bean>
</beans>AOP的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"
?xmlns:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
???????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
?????????????????? ">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<bean id="personService" class="com.persia.service.impl.PersonServiceImpl"></bean>
<bean id="aspectBean" class="com.persia.service.MyInterceptor"></bean>
<aop:config>
?<aop:aspect id="myaop" ref="aspectBean">
?<aop:pointcut id="mycut" expression="execution(* com.persia.service.impl.PersonServiceImpl.*(..))"/>
?<aop:pointcut id="argcut" expression="execution(* com.persia.service.impl.PersonServiceImpl.*(..)) and args(name)"/>?
?<aop:before pointcut-ref="mycut" method="doAccessCheck"? />
?<aop:after-returning pointcut-ref="mycut" method="doAfterReturning"/>
?? <aop:after-throwing pointcut-ref="mycut" method="doThrowing"/>
?? <aop:after pointcut-ref="argcut" method="doAfter" arg-names="name"/>
?<aop:around pointcut-ref="mycut" method="arround"/>
?</aop:aspect>
?
</aop:config>
</beans>3.開啟事務(wù)和注解:
<?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:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xmlns:tx="http://www.springframework.org/schema/tx"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
??????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
?????????????????? ">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
??????????????????
<!-- 配置數(shù)據(jù)源 -->??
? <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">??
??? <property name="driverClassName" value="com.mysql.jdbc.Driver"/>??
??? <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"/>??
??? <property name="username" value="root"/>??
??? <property name="password" value=""/>??
???? <!-- 連接池啟動(dòng)時(shí)的初始值 -->??
???? <property name="initialSize" value="1"/>??
???? <!-- 連接池的最大值 -->??
???? <property name="maxActive" value="500"/>??
???? <!-- 最大空閑值.當(dāng)經(jīng)過一個(gè)高峰時(shí)間后,連接池可以慢慢將已經(jīng)用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 -->??
???? <property name="maxIdle" value="2"/>??
???? <!--? 最小空閑值.當(dāng)空閑的連接數(shù)少于閥值時(shí),連接池就會(huì)預(yù)申請(qǐng)去一些連接,以免洪峰來時(shí)來不及申請(qǐng) -->??
???? <property name="minIdle" value="1"/>??
? </bean>?
??
? <!-- 配置事務(wù)管理器-->??
?<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">??
??? <property name="dataSource" ref="dataSource"/>??
? </bean>?
? <!-- 配置業(yè)務(wù)bean -->
??? <bean id="personService" class="com.persia.service.impl.PersonServiceImpl">
??? <property name="ds" ref="dataSource"></property>
? </bean>
??
? <!-- 采用@Transactional注解方式來使用事務(wù) -->??
? <tx:annotation-driven transaction-manager="txManager"/>?
</beans>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"
?xmlns:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xmlns:tx="http://www.springframework.org/schema/tx"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
??????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
?????????????????? ">
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
??????????????????
<!-- 配置數(shù)據(jù)源 -->??
? <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">??
??? <property name="driverClassName" value="com.mysql.jdbc.Driver"/>??
??? <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"/>??
??? <property name="username" value="root"/>??
??? <property name="password" value=""/>??
???? <!-- 連接池啟動(dòng)時(shí)的初始值 -->??
???? <property name="initialSize" value="1"/>??
???? <!-- 連接池的最大值 -->??
???? <property name="maxActive" value="500"/>??
???? <!-- 最大空閑值.當(dāng)經(jīng)過一個(gè)高峰時(shí)間后,連接池可以慢慢將已經(jīng)用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 -->??
???? <property name="maxIdle" value="2"/>??
???? <!--? 最小空閑值.當(dāng)空閑的連接數(shù)少于閥值時(shí),連接池就會(huì)預(yù)申請(qǐng)去一些連接,以免洪峰來時(shí)來不及申請(qǐng) -->??
???? <property name="minIdle" value="1"/>??
? </bean>?
??
<!-- 配置事務(wù)管理器 -->
?<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">??
??? <property name="dataSource" ref="dataSource"/>??
? </bean>?
? <!-- 配置業(yè)務(wù)bean -->
?? <bean id="personService" class="com.persia.service.impl.PersonServiceImpl">
??? <property name="ds" ref="dataSource"></property>
? </bean>
?
?
??? <!-- 使用XML來使用事務(wù)管理-->?
<aop:config>?
??? <!-- 配置一個(gè)切面,和需要攔截的類和方法 -->??
??? <aop:pointcut id="transactionPointcut" expression="execution(* com.persia.service..*.*(..))"/>?
??? <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut"/>?
</aop:config>
<!-- 配置一個(gè)事務(wù)通知 -->???
<tx:advice id="txAdvice" transaction-manager="txManager">?
????? <tx:attributes>
????? <!-- 方法以get開頭的,不使用事務(wù) -->
??????? <tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED"/>
????? <!-- 其他方法以默認(rèn)事務(wù)進(jìn)行 -->
??????? <tx:method name="*"/>?
????? </tx:attributes>?
</tx:advice>?
??
?
</beans>4.SSH:
<?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:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xmlns:tx="http://www.springframework.org/schema/tx"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
??????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
?????????????????? ">
?<!-- 配置數(shù)據(jù)源 -->??
? <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">??
??? <property name="driverClassName" value="com.mysql.jdbc.Driver"/>??
??? <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"/>??
??? <property name="username" value="root"/>??
??? <property name="password" value=""/>??
???? <!-- 連接池啟動(dòng)時(shí)的初始值 -->??
???? <property name="initialSize" value="1"/>??
???? <!-- 連接池的最大值 -->??
???? <property name="maxActive" value="500"/>??
???? <!-- 最大空閑值.當(dāng)經(jīng)過一個(gè)高峰時(shí)間后,連接池可以慢慢將已經(jīng)用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 -->??
???? <property name="maxIdle" value="2"/>??
???? <!--? 最小空閑值.當(dāng)空閑的連接數(shù)少于閥值時(shí),連接池就會(huì)預(yù)申請(qǐng)去一些連接,以免洪峰來時(shí)來不及申請(qǐng) -->??
???? <property name="minIdle" value="1"/>??
? </bean>?
?
? <!-- 配置hibernate的sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
?<property name="dataSource"><ref bean="dataSource" /></property>
? <property name="mappingResources">
????? <list>
??????? <value>com/persia/model/Person.hbm.xml</value>
????? </list>
?? </property>
??
???? <!-- 1.首先在sessionFactory里面配置以上3條設(shè)置 -->
??????? <!-- 2.然后得在類路徑下面添加一個(gè)ehcache.xml的緩存配置文件 -->
??????? <!-- 3.最后在要使用緩存的實(shí)體bean的映射文件里面配置緩存設(shè)置 -->
???????????? <!--使用二級(jí)緩存-->
???????????? <!-- 不使用查詢緩存,因?yàn)槊新什皇呛芨?-->
???????????? <!-- 使用Ehcache緩存產(chǎn)品 -->?
? <property name="hibernateProperties">
????? <value>
????????? hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
????????? hibernate.hbm2ddl.auto=update
????????? hibernate.show_sql=false
????????? hibernate.format_sql=false
????????? hibernate.cache.use_second_level_cache=true
?????? ???????? hibernate.cache.use_query_cache=false
??????? ???? hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
????? </value>
????? </property>
</bean>
<!-- 配置Spring針對(duì)hibernate的事務(wù)管理器 -->
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
?? ?<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置使用注解的方式來使用事務(wù) -->?
<tx:annotation-driven transaction-manager="txManager"/>
<!-- 使用手工配置的注解方式來注入bean -->
<context:annotation-config></context:annotation-config>
<!--定義要注入的業(yè)務(wù)bean -->
<bean id="personService" class="com.persia.service.impl.PersonServiceImpl"></bean>
<!--將Struts的action交給Spring容器來管理 -->
<bean name="/person/list" class="com.persia.struts.PersonListAction">
<!--1.這里要求name和struts-config里面的action的path名稱一致,因?yàn)閕d不允許有特殊字符-->
<!--2.還得在Struts-config文件里面添加Spring的請(qǐng)求處理器,該處理器會(huì)根據(jù)action的path屬性到Spring容器里面尋找這個(gè)bean,若找到了則用這個(gè)bean來處理用戶的請(qǐng)求-->
<!--3.然后去掉action的type標(biāo)簽和值(可選),當(dāng)Spring處理器找不到該bean時(shí),才會(huì)使用Struts的action-->
<!--4.最后在action里面使用Spring的注入方式來注入業(yè)務(wù)bean-->
</bean>
<bean name="/person/manage" class="com.persia.struts.PersonManageAction"></bean>
</beans>5.SSH2:
<?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:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xmlns:tx="http://www.springframework.org/schema/tx"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
??????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
?????????????????? ">
?<!-- 配置數(shù)據(jù)源 -->??
? <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">??
??? <property name="driverClassName" value="com.mysql.jdbc.Driver"/>??
??? <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"/>??
??? <property name="username" value="root"/>??
??? <property name="password" value=""/>??
???? <!-- 連接池啟動(dòng)時(shí)的初始值 -->??
???? <property name="initialSize" value="1"/>??
???? <!-- 連接池的最大值 -->??
???? <property name="maxActive" value="500"/>??
???? <!-- 最大空閑值.當(dāng)經(jīng)過一個(gè)高峰時(shí)間后,連接池可以慢慢將已經(jīng)用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 -->??
???? <property name="maxIdle" value="2"/>??
???? <!--? 最小空閑值.當(dāng)空閑的連接數(shù)少于閥值時(shí),連接池就會(huì)預(yù)申請(qǐng)去一些連接,以免洪峰來時(shí)來不及申請(qǐng) -->??
???? <property name="minIdle" value="1"/>??
? </bean>?
?
? <!-- 配置hibernate的sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
?<property name="dataSource"><ref bean="dataSource" /></property>
? <property name="mappingResources">
????? <list>
??????? <value>com/persia/model/Person.hbm.xml</value>
????? </list>
?? </property>
??
???? <!-- 1.首先在sessionFactory里面配置以上3條設(shè)置 -->
??????? <!-- 2.然后得在類路徑下面添加一個(gè)ehcache.xml的緩存配置文件 -->
??????? <!-- 3.最后在要使用緩存的實(shí)體bean的映射文件里面配置緩存設(shè)置 -->
???????????? <!--使用二級(jí)緩存-->
???????????? <!-- 不使用查詢緩存,因?yàn)槊新什皇呛芨?-->
???????????? <!-- 使用Ehcache緩存產(chǎn)品 -->?
? <property name="hibernateProperties">
????? <value>
????????? hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
????????? hibernate.hbm2ddl.auto=update
????????? hibernate.show_sql=false
????????? hibernate.format_sql=false
????????? hibernate.cache.use_second_level_cache=true
?????? ???????? hibernate.cache.use_query_cache=false
??????? ???? hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
????? </value>
????? </property>
</bean>
<!-- 配置Spring針對(duì)hibernate的事務(wù)管理器 -->
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
?? ?<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置使用注解的方式來使用事務(wù) -->?
<tx:annotation-driven transaction-manager="txManager"/>
<!-- 使用手工配置的注解方式來注入bean -->
<context:annotation-config></context:annotation-config>
<!--定義要注入的業(yè)務(wù)bean -->
<bean id="personService" class="com.persia.service.impl.PersonServiceImpl"></bean>
<!--注入Struts 2的action -->
<bean id="personList" class="com.persia.struts2.action.PersonListAction"></bean>
</beans>6.SSJ:
<?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:context="http://www.springframework.org/schema/context"
?xmlns:aop="http://www.springframework.org/schema/aop"
?xmlns:tx="http://www.springframework.org/schema/tx"
?xsi:schemaLocation="http://www.springframework.org/schema/beans
??????????????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
??????????????????? http://www.springframework.org/schema/context
??????????????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd
??????????????????? http://www.springframework.org/schema/aop
??????????????????? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
??????????????????? http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
?????????????????? ">
<!-- 使用手工配置的注解方式來注入bean -->
<context:annotation-config></context:annotation-config>
<!-- 1.配置Spring集成JPA -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
????? <property name="persistenceUnitName" value="SpringJPAPU"/>
</bean>
<!--2.配置Spring針對(duì)JPA的事務(wù) -->
??? <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
? ?? <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<!--3.開啟事務(wù)注解 -->
<tx:annotation-driven transaction-manager="txManager"/>
?
<!--以上3個(gè)Spring集成JPA的配置,在web項(xiàng)目先添加Spring支持,后添加JPA支持時(shí)會(huì)自動(dòng)生成 -->
<!-- 配置業(yè)務(wù)bean -->
<bean id="personService" class="com.persia.service.impl.PersonServiceImpl"></bean>
<!-- 配置Struts的action -->
<bean name="/person/list" class="com.persia.struts.PersonListAction"/>
<bean name="/person/manage" class="com.persia.struts.PersonManageAction"/>
</beans>
?
總結(jié)
以上是生活随笔為你收集整理的【2011.9.20】Spring配置文件总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【百度地图API】如何制作多途经点的线路
- 下一篇: 根据根据图片的url怎么取得图片Imag