applicationContext.xml 配置说明


<!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>

<beans>
<!– 配置数据源,使用DBCP数据源 –>
<bean id=”dataSource” class=”org.apache.commons.dbcp.BasicDataSource” destroy-method=”close”>
<!– MySQL数据库的驱动 –>
<property name=”driveClassName” value=”com.mysql.jdbc.Driver” />
<!– 数据库的URL –>
<property name=”url” value=”jdbc:mysql:///newsboard” />
<!– 指定数据库的用户名 –>
<property name=”username” value=”root” />
<!– 指定数据库的密码 –>
<property name=”password” value=”123″/>
<!– 指定数据库的最大连接数 –>
<property name=”maxActive” value=”100″/>
<!– 指定数据库的最大空闲连接数 –>
<property name=”maxIdle” value=”30″/>
<!– 指定数据库的最大等待数 –>
<property name=”maxWait” value=”1000″/>
<!– 指定数据库的默认自动提交 –>
<property name=”defaultAutoCommit” value=”true”/>
<!– 指定数据库的连接超时时是否启动删除 –>
<property name=”removeAbandoned” value=”true”/>
<!– 指定数据库的删除数据库连接的超时时长 –>
<property name=”removeAbandonedTimeout” value=”60″/>
<property name=”logAbandoned” value=”true”/>
</bean>
<!– 配置Hibernate的SessionFactory –>
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
<!– 依赖注入SessionFactory所需的DataSource –>
<property name=”dataSource” ref=”dataSource”/>
<!– 加载所有的映射文件 –>
<property name=”mappingResource”>
<!– 下面列出所有的持久化映射文件 –>
<list>
<value>org/yeeku/model/User.hbm.xml</value>
<value>org/yeeku/model/News.hbm.xml</value>
<value>org/yeeku/model/NewsReview.hbm.xml</value>
<value>org/yeeku/model/Category.hbm.xml</value>
</list>
</property>
<!– 下面指定Hibernate的属性 –>
<property name=”hibernateProperties”>
<props>
<!– 下面指定Hibernate使用的数据库方言 –>
<prop key=”hibernate.dialect”>org.hibernate.dialect.MySQLDBDialect</prop>
</props>
</property>
</bean>

<!– 配置DAO组件,必须提供DAO的实现类 –>
<bean id=”dao” class=”org.yeeku.dao.hibernate.BaseDAOHibernate”>
<property name=”sessionFactory” ref=”sessionFactory” />
</bean>
<!– 配置DAO组件,必须提供DAO的实现类 –>
<bean id=”newsDAO” class=”org.yeeku.dao.hibernate.NewsDAOHibernate”>
<property name=”sessionFactory” ref=”sessionFactory”/>
</bean>

<!– 定义事务模板类,模板类增加abstract=”true”属性 –>
<bean id=”txProxyTemplate” abstract=”true” class=”org.springframework.transaction.interceptor.TransactionProxyFactoryBean”>
<property name=”transactionManager” ref=”transactionManager”>
<props>
<!– 所以save开始的方法的事务属性 –>
<prop key=”save*”>PROPAGATION_REQUIRED</prop>
<!– 所有以remove开始的方法的事务属性 –>
<prop key=”remove”>PROPAGATION_REQUIRED</prop>
<!– 其他方法的事务属性 –>
<prop key=”*”>PROPAGATION_REQUIRED, readOnly</prop>
</props>
</property>
</bean>
<!– 配置具体的业务逻辑层组件的事务代理 –>
<bean id=”manager” parent=”txProxyTemplate”>
<!– 生成业务代理之前,必须使用target制定需要生成代理的目标bean,
目标bean采用嵌套bean的方式定义 –>
<property name=”target”>
<bean class=”org.yeeku.service.impl.BaseManager”>
<!– 定义嵌套bean所使用的DAO组件 –>
<property name=”dao” ref=”dao”/>
</bean>
</property>
</bean>

<!– 配置目标bean代理对象 –>
<bean id=”facade” class=”org.springframework.transaction.interceptor.TransactionProxyFactoryBean”>
<!– 为代理工厂bean注入事务管理器 –>
<property name=”transactionManager” ref=”transactionManager”/>
<!– 定义代理的目标bean 此处的目标bean,必须是容器中真实存在的bean实例 –>
<property name=”target” ref=”facadeManager”/>
<!– 确定生成事务代理的事务属性 –>
<property name=”transactionAttributes”>
<props>
<prop key=”save*”>PROPAGATION_REQUIRED</prop>
<prop key=”remove*”>PROPAGATION_REQUIRED</prop>
<prop key=”*”>PROPAGATION_REQUIRED, readOnly</prop>
</props>
</property>
</bean>
</beans>
转载自:https://blog.csdn.net/wangqiaowqo/article/details/83234500

You may also like...