SSH2集成开发步骤

分布集成三大框架:

第一步:集合三大框架开发的jar包,并放置项目的lib目录下,如下图所示:

这些jar包有一些可有可无,但是对于做一个比较全面的,考虑周全的系统,建议都加载这些jar包,初学者也更不容易出错。

第二步:在自己的项目下新建一个bean.xml(这里面主要是集成配置三大框架)

① 配置数据源:

<!-- 采用的事c3p0数据源配置 -->
<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/itcast?useUnicode=true&characterEncoding=UTF-8"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
<!--初始化时获取的连接数,取值应在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>

② 将sssionFactory交给spring的事物管理器中,并将数据源注入到sessionFactory中:

<!-- hibernate的sessionFactory配置 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
 <property name="mappingResources">
    <list>
      <value>cn/jxau/po/Employee.hbm.xml</value>
    </list>
</property>
 <property name="hibernateProperties">
 <value>
      hibernate.dialect=org.hibernate.dialect.MySQL5Dialect<!-- 使用的Mysql5的方言 -->
      hibernate.hbm2ddl.auto=update<!--是否根据映射源数据,根据数据生成表结构  -->
      hibernate.show_sql=false<!--是否打印出hibernate中的sql语句  -->
      hibernate.format_sql=false<!-- 是否对其sql语句进行格式化 -->
  </value>
 </property>
</bean>

通过这个配置,我们就获得一个spring对外的一个对数据库操作的单例sesionFactory对象。

第三步:配置spring对hibernate的事物管理器

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>

对创建的sessionFactory对象进行事物管理。

第四步:声明事物(这里采用注解的方式进行配置)

<tx:annotation-driven transaction-manager="txManager"/>

第五步:配置PO层映射文件:

首先建立自己对应数据表的PO,并在该类的包下对应建立相应的xml文件,比如PO的名字为Employee.java,那个采用xml映射数据库表的话,就需要建立Employee.hbm.xml,并将这个文件交给spring中的sessionFactory进行管理,配置如下:

<property name="mappingResources">
    <list>
      <value>cn/itcast/po/Employee.hbm.xml</value>
    </list>
</property>

第六步:编写Employee.hbm.xml文件(数据库映射配置文件):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.linhao.po">
    <class name="Employee">
       <id name="username" length="20"/>
       <property name="password" length="20" not-null="true"/>
       <property name="sex" not-null="true" length="5">
        	<type name="org.hibernate.type.EnumType">
        	 <param name="enumClass">cn.itcast.po.Gender</param>
<!-- 12为java.sql.Types.VARCHAR常量值,即保存枚举的字面值到数据库。如果不指定type参数,保存枚举的索引值(从0开始)到数据库-->
        	 <param name="type">12</param>
        	</type>
        </property>
    </class>
</hibernate-mapping>

以上就完成hibernate和spring的集成,当然你也可以选择不写数据表的映射文件,利用注解进行配置hibernate,这个注解配置映射我就不多说 了。

第六步:集成好hiberbate和spring,那么进行测试(测试可以用以下例子来进行,personService业务benan自行配置,这里只介绍如何集成三大框架):

以上是已经集成好hibernate和spring,但是要注意在编写配置好了之后,用以下代码进行测试:

package Test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.jxau.ruanjian1201.springWeb1.po.Person;
import com.jxau.ruanjian1201.springWeb1.service.impl.PersonService;
import com.jxau.ruanjian1201.springwe1.service.PersonServiceImpl;

public class JunitTest {
	private static PersonServiceImpl personService;
	public static void setUpBeforeClass() throws Exception {
		try {
			ApplicationContext cxt = new ClassPathXmlApplicationContext(
					"beans.xml");
			personService = (PersonServiceImpl) cxt.getBean("personService");
		    System.out.println(personService);
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		try {
			setUpBeforeClass();
			personService.save(new Person("linhao"));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

第七步:spring和hibernate集成之后,就是和struts2集成

1、Struts2与spring集成步骤:

第一步:在测试的时候我们需要实例化spring容器,才能使用spring里面的事物,但是其实spring对外有个监听器,我们只需要在web.xml进行配置spring容器的监听器就可以了。首先在web.xml中实例化spring容器

<!--指定spring的配置文件,服务器启动的时候默认从web根目录寻找配置文件,我们可以通过spring提供的classpath前缀指定从类路径下寻找->

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:beans.xml</param-value>
  </context-param>
  <!-- 对spring容器进行实例化 -->
  <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

该监听器会将spring实例化并将其放在application中,如果想得到这个实例,可以通过application进行得到

2、配置struts2的jar包:下载好struts2的压缩包后解压,在其lib目录下所有的不带-plgin结尾的jar文件,但是除了struts2-spring-plugin-2.0.11.1.jar(上面已经给出所需的所有jar包)

3、第三步,利用filter在web.xml中启动struts2,配置如下:

  <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>

4、配置struts2的配置模板struts.xml,我这里列举了一些配置选项,对开发的是否更有帮助:

<?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>
    <!--指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法  -->
    <constant name="struts.i18n.encoding" value="UTF-8"/>
    <!--该属性指定需要的Struts2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理
       如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开     -->
       <constant name="struts.action.extension" value="do"/>
    <!--设置浏览器是否缓存静态内容,默认值是true(生产环境下使用),开发阶段最好关闭  -->
    <constant name="struts.serve.static.browserCache" value="flase"/>
    <!--当struts的配置文件修改后,系统是否自动从新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开  -->
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!--开发环境下使用,这样可以打印出更详细的错误信息  -->
    <constant name="struts.devMode" value="true"/>
<!-- 默认的视图主题 -->
    <constant name="struts.ui.theme" value="simple" />
    <!-- struts2和spring关键切入点,这个action是声明由spring帮忙创建 -->
 <constant name="struts.objectFactory" value="spring" />
 <package name="person" namespace="/person" extends="struts-default">
 <global-results>
 <result>/WEB-INF/view/message.jsp</result>
 </global-results>
 <!--使用通配符,进行视图的转换  -->
 	<action name="action_*" class="personOperateAction" method="{1}"><!--此class的名字是你配置在spring中的bean的id名字,必须在beans.xml中或者利用注解进行以来注入  -->
 	 <result name="list">/WEB-INF/view/person.jsp</result>
 	 <result name="add">/WEB-INF/view/person_add.jsp</result>
 	 <result name="edit">/WEB-INF/view/person_edit.jsp</result>
 	</action>
 </package>
</struts>

5.完成以上步骤之后就可以进行SSH2集成开发(控制层中的action需要用@Controller声明(或者在beans.xml中配置)这样才能用spring事物管理机制进行管理进行依赖注入)。

时间: 2024-10-26 03:02:40

SSH2集成开发步骤的相关文章

【SSH】---【Struts2、Hibernate5、Spring4集成开发】

Struts2.Hibernate5.Spring4集成开发步骤: 一.导入Jar包(基本的大致有41个,根据实际项目的需求自己添加) antlr-2.7.7.jar aopalliance.jar asm-5.1.jar asm-commons-5.1.jar asm-tree-5.1.jar aspectjweaver-1.8.7.jar c3p0-0.9.2.1.jar classmate-1.3.0.jar commons-fileupload-1.3.2.jar commons-io-

从svn签下代码以及集成开发环境的搭建详细过程

在经过几次的从svn上签下来代码的经历之后,终于总结出了详细的步骤 在upupw/htdocs下建立新的文件夹(此处根据你服务器的根目录而变),此处为bpb1027 ,再右键,选择SVN Checkout 填入内网或外网访问SVN的地址,后面要加个/trunk(主干开发) SVN 主干(trunk).分支(branch ).标记(tag)的不同 trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch. branch:是用来做并行

【转】windows和linux中搭建python集成开发环境IDE

http://blog.csdn.net/pipisorry/article/details/39854707 使用的系统及软件Ubuntu / windowsPython 2.7 / python 3Pycharm 2.6.3Openjdk Postgresql 9.1VirtualenvVirtualenvwrapper{开始之前,可以给系统做一下备份.如误安装了Postgresql,出现了大问题就不得不把系统给重装了} 安装python 安装python 1. Ubuntu 12.04系统

推荐几个好用的PHP集成开发环境

(转自:http://blog.sina.com.cn/s/blog_5bd6b45101011bu2.html ) 分类: PHP PHP新手在准备正式开始写PHP代码的时候,不幸的是被PHP的开发环境的安装挡住了.豆芽推荐PHP新手最好是用的PHP集成开发环境,等到自己的PHP知识比较了解后再自己分别下载环境,挨个安装就变得很容易了. 我相信PHP新手的手上多多少少有几本PHP方面的资料,而这些资料中如果是初级的话基本在第一章都是给大家介绍PHP环境的安装,即使我们照着书上的步骤一步步的安装

mac 配置Python集成开发环境

mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使用的超链接 http://ftp.daum.net/eclipse//technology/epp/downloads/release/mars/R/eclipse-jee-mars-R-macosx-cocoa-x

Java3D 集成开发环境部署与配置(含实例)

Java 3D开发相关的准备: 第一:下载Java 3D库 参考网址一:https://java3d.java.net/ 参考网址二: http://translate.google.com/translate?hl=zh-CN&rurl=translate.google.com.hk&tl=zh-CN&u=http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-j

Centos桌面搭建Pycharm集成开发环境

Pycharm是一款出色的python集成开发环境,由JetBrains开发维护.Pycharm主要有两个版本:Professional版本和Community版本,其中Professional版本功能更丰富,但是是收费软件.对于初学者,下载Community版本就可以了.这里,我就简单记录一下在Centos桌面环境下,如何安装配置Pycharm集成开发环境. 主要有以下几步: 下载Pycharm的community版本 安装配置合适的Java环境 运行配置Pycharm 1)下载Pycharm

[国嵌笔记][019][Eclipse集成开发环境]

Eclipse集成开发环境的作用 可以编译程序,也可以对程序进行在线调试 集成开发环境 1.JLink连接开发板的JTAG 2.JLink连接PC的USB 3.eclipse软件 4.gdb server软件 5.JLink软件 安装步骤 1.格式化nand flash 2.连接JLink,并设置从nand flash启动 3.安装gdb server软件 1.tar zxvf linux-gdb-7.5.tar.gz 2.执行./build-all,编译gdb server软件,然后安装软件

【Python学习一】在OSX系统下搭建Python语言集成开发环境

Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速应用程序开发的理想语言. 下面介绍如何在OSX下安装Python语言集成开发环境.主要分为2过步骤 一.下载安装 首先进入https://www.jetbrains.com/网站,Jetbrains是一家国外的公司,听说他们开发了很多很棒的ide. 找的Pycharm. PyCharm是一种Pyth