1. web.xml 配置
Xml代码
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- /WEB-INF/applicationContext.xml
- <!--classpath*:/spring-config/applicationContext.xml-->
- </param-value>
- </context-param>
- <!-- hibernate open session in view -->
- <filter>
- <filter-name>hibernateFilter</filter-name>
- <filter-class>
- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
- </filter-class>
- </filter>
- <!-- 编码 -->
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>
- org.springframework.web.filter.CharacterEncodingFilter
- </filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <!-- hibernate open session in view -->
- <filter-mapping>
- <filter-name>hibernateFilter</filter-name>
- <url-pattern>/*<url-pattern>
- </filter-mapping>
- <!-- 编码 -->
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>*.jsp<url-pattern>
- </filter-mapping>
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
- <listener>
- <listener-class>
- org.springframework.web.context.request.RequestContextListener
- </listener-class>
- </listener>
- <!-- 要负责处理由 JavaBeans Introspector的使用而引起的缓冲泄露 -->
- <listener>
- <listener-class>
- org.springframework.web.util.IntrospectorCleanupListener
- </listener-class>
- </listener>
2.applicationContext.xml 配置
对于dataSource就省略了 可以使用c3p0连接池
Xml代码
- <beanid="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
- <propertyname="dataSource"ref="dataSource"/>
- <propertyname="annotatedClasses"ref="annotatedClasses"/>
- <propertyname="hibernateProperties"ref="hibernateProperties"/>
- </bean>
- <beanname="hibernateProperties"class="org.springframework.beans.factory.config.PropertiesFactoryBean">
- <propertyname="properties">
- <props>
- <propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <propkey="hibernate.show_sql">true</prop>
- <propkey="hibernate.hbm2ddl.auto">none</prop>
- <propkey="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
- <propkey="hibernate.cache.use_query_cache">true</prop>
- <propkey="hibernate.default_batch_fetch_size">30</prop>
- </props>
- </property>
- </bean>
- <!-- annotation table 类 -->
- <beanid="annotatedClasses"class="org.springframework.beans.factory.config.ListFactoryBean">
- <propertyname="sourceList">
- <list>
- <value>com.bask.model.Promotion</value>
- <value>com.bask.model.PromotionGroup</value>
- <value>com.bask.model.Largess</value>
- </list>
- </property>
- </bean>
- <!-- 事务 begin -->
- <beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <propertyname="sessionFactory"ref="sessionFactory"/>
- </bean>
- <!-- 支持 @Transactional -->
- <tx:annotation-driven/>
- <!-- 支持 @AspectJ -->
- <aop:aspectj-autoproxy/>
- <!-- 以AspectJ方式定义AOP -->
- <aop:configproxy-target-class="true">
- <aop:advisorpointcut="execution(* com.bask.service.*Manager.*(..))"advice-ref="txAdvice"/>
- </aop:config>
- <tx:adviceid="txAdvice"transaction-manager="transactionManager">
- <tx:attributes>
- <!-- 以get 、 find 开头的方法是只读事务 -->
- <tx:methodname="get*"read-only="true"/>
- <tx:methodname="find*"read-only="true"/>
- <!-- 其他方法是默认 -->
- <tx:methodname="save*"/>
- </tx:attributes>
- </tx:advice>
- <!-- 事务 end -->
- <context:annotation-config/>
- <!-- service下是spring使用注解 -->
- <context:component-scanbase-package="com.bask.service"/>
3.说明
在这里我们将会根据class生产数据库表
Xml代码
- <propkey="hibernate.hbm2ddl.auto">none</prop>
- <!-- auto 可以有create update and none 等-->
- <prop key="hibernate.hbm2ddl.auto">none</prop><!-- auto 可以有create update and none 等-->
对于hibernate annotation的笔记在这里
接下来将的笔记是spring annotation使用
转载于:https://blog.51cto.com/huqianhao/955730