Struts2+Spring2+Hibernate3配置(根据尚学堂马士兵老师的授课视频整理)
先配置Spring的application.xml:
1.扫描注解的base-package 和 设置为自动扫描
<context:component-scan base-package="com.wang.practise" />
<context:annotation-config />
2. 新建jdbc.properties,内容如下:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/practise
jdbc.username=root
jdbc.password=*****
3. 然后在application.xml中加载jdbc.properties中的配置
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
</property>
</bean>
4. 配置dataSource
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
5. 配置sessionFactory
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="annotatedClasses">
<list>
<value>com.wang.practise.model.User</value>
</list>
</property>
<!-- <property name="annotatedPackages"><list>
<value>com.wang.practise</value>
</list> </property> -->
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
</value>
</property>
</bean>
6. 配置HibernateTemplate
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
7. 事务声明
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
8. 事务使用环境配置
<aop:config>
<aop:pointcut expression="execution(* com.wang.practise.service..*.*(..))"
id="pointcutpractise" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcutpractise" />
</aop:config>
9.事务使用条件配置
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="add*" />
</tx:attributes>
</tx:advice>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
<!-- default: /WEB-INF/applicationContext.xml -->
</listener><context-param>
<param-name>contextConfigLocation</param-name>
<!-- <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value> -->
<param-value>classpath:beans.xml</param-value>
</context-param>
2.编码过滤器配置
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter><filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.OpenSessionInView的配置(为了应对代码里使用load懒加载导致session在把数据传输到jsp页面之前就关闭而设置,并且注意!!一定要配置在下一个struts过滤器前面:即下一项struts2的核心控制器)
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
OpenSessionInView拦截方法时,若没有在application.xml中配置事务,就认为事务是只读的,即不可去数据库更改数据
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.<!-- 定义Struts 2的核心控制器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter><filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Struts2+Spring2+Hibernate3配置(根据尚学堂马士兵老师的授课视频整理)相关推荐
- 尚学堂-马士兵-专题-正则表达式
一.最简单的正则表达式 String类的一个方法matches. package com.string;public class RegexTest {public static void main( ...
- [原创 - 尚学堂科技 - 马士兵老师]
JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多 ...
- [转]尚学堂科技 - 马士兵老师-JAVA自学之路
[原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同 ...
- 马士兵老师的Java自学之路(转长篇!!)
作者:马士兵老师 JAVA自学之路 一:学会选择为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等.那么究竟应该 ...
- Java高并发编程 (马士兵老师视频)笔记(一)同步器
本篇主要总结同步器的相关例子:包括synchronized.volatile.原子变量类(AtomicXxx).CountDownLatch.ReentrantLock和ThreadLocal.还涉及 ...
- 2022年了Java架构师怎样进阶,马士兵老师给你答案
苦于网络上充斥的各种java知识,多半是互相抄袭,导致很多后来者在学习java知识中味同嚼蜡,今天给大家推荐马士兵老师分享的进阶成为java架构师所必须掌握的核心知识点. 废话少说,直接上正题 1.多 ...
- 马士兵老师经典J2SE中的经典语录
最近的软考内容主要为马士兵老师讲的J2SE,老师讲的不只是知识,还有学习的经验,对生活的感悟,对我们的一些忠告,所以还是很喜欢看的.下边记录了一些让我感触很深的话,随着视频的进度,我会不断更新上的. ...
- JAVA自学之路 [原创 - 尚学堂科技 - 马士兵老师]
(我觉得看了之后挺不错的所以分享一下) JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3 ...
- MyEclipse搭建SSH(Struts2+Spring2+Hibernate3)框架项目教程
对Struts.spring.hibernate大体上了解一遍后,就是针对这个几个框架的整合了. 怎样整合,请看以下: 第一:Struts2的jar和xml配置文件: jar包: commons-fi ...
- Eclipse+jetty+maven+Struts2+Spring2+Hibernate3+annotation注册系统V1.0
来源:http://www.blogjava.net/nkjava/archive/2009/03/29/262708.html 主要是整合了开发环境,同时也有一些不足,用deploy.bat可以方便 ...
最新文章
- 谈谈如何学习flutter之flutter成神之路
- PHP跳转方法:Header() + location.href
- ngx_rtmp_shared模块对ngx_chain_t的操作总结
- 学校校车运营各项安全管理制度_学校校车接送安全管理制度(通用3篇)
- mysql udf http,mysql下mysql-udf-http效率测试小记
- 接口测试总结-值得一看哟
- 信号与系统在仿真中的离散化
- java 添加jbutton_在java中怎样在JLabel上添加JButton呢
- matlab入门——矩阵(运算、编辑、高维矩阵、对角矩阵)
- Linux服务器键盘鼠标插口,关于Linux下鼠标键盘
- ST188光电式传感器的应用
- 4TB的移动硬盘,显示只有1.63TB
- python中的break、continue和pass
- Java获取IP及归属地
- FTP主动模式和被动模式!
- Jquery找父元素,祖先,子元素,子孙,兄弟节点
- android 选择答题功能,Android实现简单的答题系统
- 门神——转转前端代码校验系统
- 多级放大电路的频率响应(上限截止频率FH、下限截止频率FL)
- Spring Batch(3)——Step控制