ssh框架配置-在spring中配置数据源

来源:互联网 发布:如何出同人本 知乎 编辑:程序博客网 时间:2024/05/23 02:00
  1. <?xml version="1.0" encoding="gb2312"?>    
  2. <!-- Spring配置文件的文件头,包含DTD等信息-->    
  3. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"    
  4. "http://www.springframework.org/dtd/spring-beans.dtd">    
  5. <beans>    
  6. <!--定义数据源-->    
  7. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">    
  8. <!-- 定义数据库驱动-->    
  9. <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>    
  10. <!-- 定义数据库url-->    
  11. <property name="url"><value>jdbc:mysql://localhost:3306/spring</value></property>    
  12. <!-- 定义数据库用户名-->    
  13. <property name="username"><value>root</value></property>    
  14. <!-- 定义数据库密码-->    
  15. <property name="password"><value>32147</value></property>    
  16. </bean>    
  17. <!--定义一个hibernate的SessionFactory-->    
  18. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">    
  19. <!-- 定义SessionFactory必须注入DataSource-->    
  20. <property name="dataSource"><ref local="dataSource"/></property>    
  21. <property name="mappingResources">    
  22. <list>    
  23. <!--以下用来列出所有的PO映射文件-->    
  24. <value>Person.hbm.xml</value>    
  25. </list>    
  26. </property>    
  27. <property name="hibernateProperties">    
  28. <props>    
  29. <!--此处用来定义hibernate的SessionFactory的属性:    
  30. 不同数据库连接,启动时选择create,update,create-drop-->    
  31. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>    
  32. <prop key="hibernate.hbm2ddl.auto">update</prop>    
  33. </props>    
  34. </property>    
  35. </bean>    
  36. <!-- 定义事务管理器,使用适用于Hibernte的事务管理器-->    
  37. <bean id="transactionManager"    
  38. class="org.springframework.orm.hibernate3.HibernateTransactionManager">    
  39. <!-- HibernateTransactionManager bean需要依赖注入一个SessionFactory bean的引用-->    
  40. <property name="sessionFactory"><ref local="sessionFactory"/></property>    
  41. </bean>    
  42. <!-- 配置事务模板,模板bean被设置成abstract bean,保证不会被初始化-->    
  43. <bean id="txBase" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"    
  44. lazy-init="true" abstract="true">    
  45. <!-- 为事务模板注入事务管理器-->    
  46. <property name="transactionManager"><ref bean="transactionManager"/></property>    
  47. <!-- 设置事务属性-->    
  48. <property name="transactionAttributes">    
  49. <props>    
  50. <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>    
  51. <prop key="*">PROPAGATION_REQUIRED</prop>    
  52. </props>    
  53. </property>    
  54. </bean>    
  55. <!-- 实际的事务代理bean-->    
  56. <bean id="personDao" parent="txBase">    
  57. <!-- 采用嵌套bean配置目标bean -->    
  58. <property name="target">    
  59. <bean class="lee.PersonDaoHibernate">    
  60. <property name="sessionFactory"><ref local="sessionFactory"/></property>    
  61. </bean>    
  62. </property>    
  63. </bean>    
  64. </beans>