1. web.xml 配置

Xml代码


  
  1. <context-param>   
  2. <param-name>contextConfigLocation</param-name>   
  3.  
  4. <param-value>   
  5. /WEB-INF/applicationContext.xml   
  6. <!--classpath*:/spring-config/applicationContext.xml-->   
  7. </param-value>   
  8. </context-param>   
  9. <!-- hibernate open session in view -->   
  10. <filter>   
  11. <filter-name>hibernateFilter</filter-name>   
  12. <filter-class>   
  13. org.springframework.orm.hibernate3.support.OpenSessionInViewFilter   
  14. </filter-class>   
  15. </filter>   
  16.  
  17. <!-- 编码 -->   
  18. <filter>   
  19. <filter-name>encodingFilter</filter-name>   
  20. <filter-class>   
  21. org.springframework.web.filter.CharacterEncodingFilter   
  22. </filter-class>   
  23. <init-param>   
  24. <param-name>encoding</param-name>   
  25. <param-value>UTF-8</param-value>   
  26. </init-param>   
  27. <init-param>   
  28. <param-name>forceEncoding</param-name>   
  29. <param-value>true</param-value>   
  30. </init-param>   
  31. </filter>   
  32. <!-- hibernate open session in view -->   
  33. <filter-mapping>   
  34. <filter-name>hibernateFilter</filter-name>   
  35. <url-pattern>/*<url-pattern>   
  36. </filter-mapping>   
  37. <!-- 编码 -->   
  38. <filter-mapping>   
  39. <filter-name>encodingFilter</filter-name>   
  40. <url-pattern>*.jsp<url-pattern>   
  41. </filter-mapping>   
  42.  
  43. <listener>   
  44. <listener-class>   
  45. org.springframework.web.context.ContextLoaderListener   
  46. </listener-class>   
  47. </listener>   
  48.  
  49. <listener>   
  50. <listener-class>   
  51. org.springframework.web.context.request.RequestContextListener   
  52. </listener-class>   
  53. </listener>   
  54.  
  55. <!-- 要负责处理由  JavaBeans Introspector的使用而引起的缓冲泄露 -->   
  56. <listener>   
  57. <listener-class>   
  58. org.springframework.web.util.IntrospectorCleanupListener   
  59. </listener-class>   
  60. </listener>  

2.applicationContext.xml 配置
对于dataSource就省略了 可以使用c3p0连接池
Xml代码


  
  1. <beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">   
  2. <propertyname="dataSource"ref="dataSource"/>   
  3. <propertyname="annotatedClasses"ref="annotatedClasses"/>   
  4. <propertyname="hibernateProperties"ref="hibernateProperties"/>   
  5. </bean>   
  6.  
  7. <beanname="hibernateProperties"class="org.springframework.beans.factory.config.PropertiesFactoryBean">   
  8. <propertyname="properties">   
  9. <props>   
  10. <propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>   
  11. <propkey="hibernate.show_sql">true</prop>   
  12. <propkey="hibernate.hbm2ddl.auto">none</prop>   
  13. <propkey="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>   
  14. <propkey="hibernate.cache.use_query_cache">true</prop>   
  15. <propkey="hibernate.default_batch_fetch_size">30</prop>   
  16. </props>   
  17. </property>   
  18. </bean>   
  19.  
  20. <!-- annotation table 类 -->   
  21. <beanid="annotatedClasses"class="org.springframework.beans.factory.config.ListFactoryBean">   
  22. <propertyname="sourceList">   
  23. <list>   
  24. <value>com.bask.model.Promotion</value>   
  25. <value>com.bask.model.PromotionGroup</value>   
  26. <value>com.bask.model.Largess</value>   
  27. </list>   
  28. </property>   
  29. </bean>   
  30.  
  31. <!-- 事务 begin -->   
  32. <beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
  33. <propertyname="sessionFactory"ref="sessionFactory"/>   
  34. </bean>   
  35.  
  36. <!-- 支持 @Transactional -->   
  37. <tx:annotation-driven/>   
  38.  
  39. <!-- 支持 @AspectJ -->   
  40. <aop:aspectj-autoproxy/>   
  41.  
  42. <!-- 以AspectJ方式定义AOP -->   
  43. <aop:configproxy-target-class="true">   
  44. <aop:advisorpointcut="execution(* com.bask.service.*Manager.*(..))"advice-ref="txAdvice"/>   
  45. </aop:config>   
  46.  
  47. <tx:adviceid="txAdvice"transaction-manager="transactionManager">   
  48. <tx:attributes>   
  49. <!-- 以get 、 find 开头的方法是只读事务 -->   
  50. <tx:methodname="get*"read-only="true"/>   
  51. <tx:methodname="find*"read-only="true"/>   
  52. <!-- 其他方法是默认 -->   
  53. <tx:methodname="save*"/>   
  54. </tx:attributes>   
  55. </tx:advice>   
  56. <!-- 事务 end -->   
  57.  
  58. <context:annotation-config/>   
  59. <!-- service下是spring使用注解 -->   
  60. <context:component-scanbase-package="com.bask.service"/>  


3.说明
在这里我们将会根据class生产数据库表
Xml代码


  
  1. <propkey="hibernate.hbm2ddl.auto">none</prop>   
  2. <!-- auto 可以有create update and none 等-->   
  3. <prop key="hibernate.hbm2ddl.auto">none</prop><!-- auto 可以有create update and none 等-->   


对于hibernate annotation的笔记在这里
接下来将的笔记是spring annotation使用

http://bask.javaeye.com/blog/213359