前言:从这篇博客開始我将继续讲述Java教程:SSH篇。主要内容环绕SSH框架分析与搭建,今天先简介一下SSH的配置。

SSH配置顺序是: spring-->hibernate-->struts

1. 建立web-project ,并加入Spring支持,加入JAR包时注意。aop  core web commons等包要载入。然后一直下一步就能够成功加入spring支持;

2. 加入hibernate支持。相同注意包的选择,

下一步中注意,选择加入到spring中(spring configuration file中)

下一步后,选择已经存在的applicationContext.xml中(existing spring configuration file中)

下一步后。加入之前配置好的数据源

下一步后,注意不要创建SessionFactory

完毕hibernate支持的加入

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=SSHDemo">
</property>
<property name="username" value="test"></property>
<property name="password" value="123456"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/ssh/vo/Person.hbm.xml</value>
</list>
</property>
</bean>

3. 生成hibernate的vo类和 .hbm.xml文件,例如以下:配置.hbm.xml文件后,注意检查相应的属性是否和相应的表中的字段相应上:

package com.ssh.vo;

     public class Person implements java.io.Serializable {

        // Fields

         private Integer id;
private String name;
private String password; 对应属性的setter 和 getter 方法 } .hbm.xml <hibernate-mapping>
<class name="com.ssh.vo.Person" table="Person" schema="dbo" catalog="SSHDemo">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="50" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="50" />
</property>
</class>
</hibernate-mapping>

再创建一个dao类

 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

    import com.ssh.vo.Person;

    public class PersonDAO extends HibernateDaoSupport {
public void insert(Person per){
this.getSession().save(per);
this.getSession().beginTransaction().commit();
}
}

4. 再配置applicationContext.xml文件。须要为hibernateDaoSupport配置HibernateTemplate的支持。而HibernateTemplate的支持又是靠的是sessionFactory(这个是配置第2步骤中自己主动生成好的):

<span style="font-size:18px;"><bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean></span>

这样我们就将Spring与hibernate整合好了。

5. 再将Spring配置好的hibernateTemplate注入到之前定义好的PersonDAOImpl中:

<span style="font-size:18px;">     <bean id="personDao" class="com.ssh.dao.PersonDAOImpl">
<property name="hibernateTemplate"> //这个属性在PersonDAOImpl中有的
<ref bean="hibernateTemplate"/>
</property>
</bean></span>

以上的配置就能够非常好的正好Spring与hibernate,可是大家还须要測试一下是否成功。測试代码例如以下:

<span style="font-size:18px;">public class test {
public static void main(String[] args) {
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
PersonDAOImpl pdi = (PersonDAOImpl)app.getBean("personDao");
Person p = new Person();
p.setName("jack");
p.setPassword("123456"); pdi.insert(p);
}
}</span>

測试的过程中可能会出错,错误多半都是因为你的Jar包版本号低或是反复导入等原因导致,所以认真检查

6. 加入struts的配置:首先加入sturts支持,生成web.xml文件。需配置web.xml文件,配置例如以下:

<span style="font-size:18px;"><context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param> <servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet></span>

7. 加入struts的form bean  和 action bean   (form bean 正常写就能够)。action bean 中配置例如以下:

 public class PersonAction extends DispatchAction {

             private PersonDAOImpl personDaoImpl;

             public PersonDAOImpl getPersonDaoImpl() {
return personDaoImpl;
}
public void setPersonDaoImpl(PersonDAOImpl personDaoImpl) {
this.personDaoImpl = personDaoImpl;
}
public ActionForward insert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
PersonForm personForm = (PersonForm) form;// TODO Auto-generated method stub
Person per = new Person() ;
per.setName(personForm.getName()) ;
per.setPassword(personForm.getPassword()) ;
personDaoImpl.insert(per) ;
return null;
}
}

8.  配置Struts-config.xml文件:加入 struts 的 plug-in

 <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>

再加入:

        <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>

以上两个配置就是为了完毕Spring与struts的集成

9. 最后再配置applicationContext.xml文件,让Spring注入到action bean 中 :

                <bean name="/person"  //此处不再是id。而是name 后面的值是 struts-config.xml中 <action-mapping>中<action>的path 的值
class="com.ssh.struts.action.PersonAction">
<property name="personDaoImpl">
<ref bean="personDao"/>
</property>
</bean>

10.加入測试页面,进行測试。

OK,測试成功,配置完毕了!

java教程(五)SSH框架-配置的更多相关文章

  1. 基于java代码的Spring-mvc框架配置

     Spring 版本 4.3.2   maven项目 1.首先上项目目录图,主要用到的配置文件,略去css和js的文件 引包: 2.主要代码: (1)NetpageWebAppInitializer类 ...

  2. ssh框架配置过程

    1.pom.xml配置依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...

  3. SSH框架配置

    --------------------------------applicationContext.xml-------------------------------- <?xml vers ...

  4. SSH框架配置释义

      创建一个bean, 依赖注入支持的不同注入方式及具体配置方法 属性注入 通过setter()方法注入bean的属性或者依赖对象.属性注入要求bean需要提供一个默认构造函数和对应的setter方法 ...

  5. ssh框架配置数据源 数据库连接没有正常释放

    通过多天的改bug 对数据源这个东西了解多了..    我发现 spring+hibernate下  申请数据库连接是在一个action方法内  也就是说  action 里面有三个 service方 ...

  6. ssh框架配置事务管理器

    http://blog.163.com/zsq303288862@126/blog/static/9374596120111182446727/

  7. 用一天的时间学习Java EE中的SSH框架

    首先说明一下,本人目前主要从事.NET领域的工作,但对于C++.Java.OC等语言也略知一二,周末闲来无事,特花费一天的时间学习了一下Java中的SSH框架,希望把学习过程中的心得体会与园友们进行分 ...

  8. MVC+Spring.NET+NHibernate .NET SSH框架整合

    在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MVC框架以后太灵活了(相比之前的web Form),嗯,关于.NET中的MVC框架我 ...

  9. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

随机推荐

  1. VC++ 借助 Win32 API 绘图实现基本的细胞自动机演示

    //本程序使用 Visual Studio 2015 生成的 Win32 窗口程序模板 开发//使用 Win32 API 绘图//实现基本的细胞自动机演示////目前已知问题://存在内存泄漏,但具体 ...

  2. 搭建ss总结

    今天晚上做的事情: 1. https://www.vultr.com/ 购买vps 2. ssh连接到服务器 参照网上帖子安装 https://blog.csdn.net/littlepig19930 ...

  3. NOIp模拟赛三十一

    持续降智 分数:100+0+0=100 C题subtask是假的,根本没有部分分中的情况...还我20分QAQ A:[BZOJ4444]国旗计划 B:[agc006f]blackout C:[arc0 ...

  4. 理解Swift中map 和 flatMap对集合的作用

    map和flatMap是函数式编程中常见的概念,python等语言中都有.借助于 map和flapMap 函数可以非常轻易地将数组转换成另外一个新数组. map函数可以被数组调用,它接受一个闭包作为參 ...

  5. [MST] Create Dynamic Types and use Type Composition to Extract Common Functionality

    Since MST offers a runtime type system, it can create and compose types on the fly, making it possib ...

  6. pydev 安装

    pydev断断续续空余时间安装了好几天,终于安装上了,需要注意的几点有, 1.插件地址 http://update-production-pydev.s3.amazonaws.com/pydev/up ...

  7. RISC-V首度被我国列入扶持对象,上海已成RISC-V重要“据点”

    时间:2018年7月24日 16:33 摘要:近期,上海市经济信息委发布了<上海市经济信息化委关于开展2018年度第二批上海市软件和集成电路产业发展专项资金(集成电路和电子信息制造领域)项目申报 ...

  8. django 笔记12 session

    第一步写好函数,然后生成数据库session表 python manage.py makemigrations python manage.py migrate session原理: .Session ...

  9. springboot 注入xml自定义类

    新建入口类可扫描类: @Configuration @ImportResource(locations = {"classpath:spring-bean.xml"}) publi ...

  10. Sqoop框架基础

    Sqoop框架基础 本节我们主要需要了解的是大数据的一些协作框架,也是属于Hadoop生态系统或周边的内容,比如: ** 数据转换工具:Sqoop ** 文件收集库框架:Flume ** 任务调度框架 ...