s2sh整合开发的配置
2016-08-26 20:50
375 查看
下面给出整合开发时Struts 2、 Hibernate、Spring需要的JAR,包太多不打字了,直接截图。
ps:我数据库用的是mysql
Spring的配置模版:
第一步在Spring中配置数据源:
第二步集成进hibernate:
第三步使用Spring容器管理事务服务:
第四部 配置hibernate实体映射文件City.hbm.xml用MyEclipse Hibernate的工具即可(前提是先建立好数据库)。
第五步 在web容器中使用Listener实例化spring容器和配置struts2
第六步 struts2的配置文件模版struts.xml如下。常量struts.objectFactory=spring明确指出将由Spring负责创建Action实
例。
为了能从spring容器中寻找到Action
bean,要求action配置的class属性值和spring中bean的名称相同。
第七部 使用spring解决struts2乱码问题,在web.xml文件中配置。
第八步 使用spring解决hibernate因session关闭导致的延迟加载例外问题,在web.xml文件中配置。
前期配置工作大概就这么多啦,又完成一篇笔记!
ps:我数据库用的是mysql
Spring的配置模版:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> </beans>
第一步在Spring中配置数据源:
<!-- 配置数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="org.gjt.mm.mysql.Driver" /> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/数据库名字?useUnicode=true&characterEncoding=UTF-8" /> <property name="user" value="登录mysql的用户名" /> <property name="password" value="登录密码" /> <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> <property name="initialPoolSize" value="1" /> <!--连接池中保留的最小连接数。 --> <property name="minPoolSize" value="1" /> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize" value="300" /> <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="60" /> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement" value="5" /> <!--每60秒检查所有连接池中的空闲连接。Default: 0 --> <property name="idleConnectionTestPeriod" value="60" /> </bean>
第二步集成进hibernate:
<!-- 配置会话工厂() --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!-- 设置数据源 --> <property name="dataSource" ref="dataSource" /> <!-- 接管了hibernate对象映射文件 --> <property name="mappingResources"> <list> <value>com/lmk/domain/City.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update hibernate.show_sql=false hibernate.format_sql=false <!-- 启动二级缓存,我这里用了EhCache的方式,需要加ehcache.xml文件 --> hibernate.cache.use_second_level_cache=true hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider hibernate.generate_statistics=true </value> </property> </bean>
第三步使用Spring容器管理事务服务:
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!--使用基于注解方式配置事务 --> <tx:annotation-driven transaction-manager="txManager"/>
第四部 配置hibernate实体映射文件City.hbm.xml用MyEclipse Hibernate的工具即可(前提是先建立好数据库)。
第五步 在web容器中使用Listener实例化spring容器和配置struts2
<!-- 对Spring容器进行实例化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置s 4000 truct2 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <!-- 自从Struts 2.1.3以后,下面的FilterDispatcher已经标注为过时 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> --> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第六步 struts2的配置文件模版struts.xml如下。常量struts.objectFactory=spring明确指出将由Spring负责创建Action实
例。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 默认的视图主题 --> <constant name="struts.ui.theme" value="simple" /> <!-- spring管理action --> <constant name="struts.objectFactory" value="spring" /> <package name="person" namespace="/person" extends="struts-default"> <global-results> <result name="message">/WEB-INF/page/message.jsp</result> </global-results> <action name="action_*" class="personList" method="{1}"> <result name="list">/WEB-INF/page/persons.jsp</result> </action> </package> </struts>
为了能从spring容器中寻找到Action
bean,要求action配置的class属性值和spring中bean的名称相同。
第七部 使用spring解决struts2乱码问题,在web.xml文件中配置。
<!-- 使用spring解决乱码问题 --> <filter> <filter-name>encoding</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> </filter> <filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第八步 使用spring解决hibernate因session关闭导致的延迟加载例外问题,在web.xml文件中配置。
<!-- 使用spring解决hibernate的懒加载 要在struct2的配置前面 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> <!-- <init-param> 指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称, 默认值为sessionFactory.如果LocalSessionFactoryBean在spring中的名称不是sessionFactory, 该参数一定要指定,否则会出现找不到sessionFactory的例外 <param-name>sessionFactoryBeanName</param-name> <param-value>sessionFactory</param-value> </init-param> --> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
前期配置工作大概就这么多啦,又完成一篇笔记!
相关文章推荐
- Spring MVC系列讲座二:与Hibernate的整合开发配置!
- Flex2与Struts整合配置 -续搭建免费的flex开发环境flashdevelop
- SpringMVC与Ibatis整合开发配置备忘
- S2SH整合配置
- Struts,hibernate,Spring整合开发各层之间联系的配置说明(初学者值得看下)
- Eclipse整合JBoss4.0.0服务器开发-配置篇
- spring学习笔记16--Spring2.x+Hibernate3.x +Struts1.x整合开发(4)-----Hibernate3.x配置二级缓存
- Flex4 与 Java 整合开发配置心得
- SVN的安装配置 以及与MyEclipse 整合使用开发
- SVN的安装配置 以及与MyEclipse 整合使用开发
- S2SH整合配置
- Struts,hibernate,Spring整合开发各层之间联系的配置说明(初学者值得看下)
- Struts,hibernate,Spring整合开发各层之间联系的配置说明(初学者值得看下)
- SSH2整合项目开发中spring配置文件applicationContext.xml分析
- QT整合OGRE 在开发环境VS2008下配置
- [开发环境]PSP开发整合包(一键安装,无须配置包含目前最新的全库)
- SVN的安装配置 以及与MyEclipse 整合使用开发
- 关于Struts2+Spring+hibernate的整合开发的配置
- S2SH整合开发中,遇到的国际化问题如何解决?
- S2SH整合开发步骤