来源于:http://www.jianshu.com/p/8e2f92d0838c

具体配置参数:

Spring: spring-framework-4.2.2
Hibernate: hibernate-release-4.2.21.Final
Eclipse : eclipse MARS.2
MySQL : mysql 5.5 +Navicat Premiumd视图器
System: win 8.1

Spring-framework下载(附地址)

需要下载的文件前面两个就够了,包和参考文档

  • spring-framework-4.2.2.RELEASE-dist.zip 包
  • spring-framework-4.2.2.RELEASE-docs.zip 文档

  • spring-framework-4.2.2.RELEASE-schema.zip 配置

导入SSH框架整合所需的jar包

配置web.xml

手动创建一个config文件夹用与存放配置的文件,这里方便说明记为cf

  1. <context-param>
  2. <param-name>contextConfigLocation</param-name>
  3. <param-value>classpath:xx.xml</param-value>
  4. </context-param>
  5. <listener>
  6. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  7. </listener>

其中xx.xml文件是需要你在cf中手动创建的配置文件,里面具体内容后面配置,这里相当于是告诉系统文件在哪,这里为了说明方便命名为spring.xml

  1. <servlet>
  2. <servlet-name>dispatcherServlet</servlet-name>
  3. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  4. <init-param>
  5. <param-name>contextConfigLocation</param-name>
  6. <param-value>classpath:xxx.xml</param-value>
  7. </init-param>
  8. <load-on-startup>1</load-on-startup>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>dispatcherServlet</servlet-name>
  12. <url-pattern>/*</url-pattern>
  13. </servlet-mapping>

这里的xxx.xml同上,可自己命名,这里命名为springMVC.xml

其中filter-class里的名字不用记,可以通过ctrl+shift+T输入
CharacterEncodingFilter获得,且这一步需放在所有过滤器最前面,才有效果

  1. <filter>
  2. <filter-name>characterEncodingFilter</filter-name>
  3. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>UTF-8</param-value>
  7. </init-param>
  8. </filter>
  9. <filter-mapping>
  10. <filter-name>characterEncodingFilter</filter-name>
  11. <url-pattern>/*</url-pattern>
  12. </filter-mapping>

其中filter-name里的类名可以通过ctrl+shift+T输入HiddenHttpMethodFilter获得,由于浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,Spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过滤器为HiddenHttpMethodFilter

  1. <filter>
  2. <filter-name>hiddenHttpMethodFilter</filter-name>
  3. <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
  4. </filter>
  5. <filter-mapping>
  6. <filter-name>hiddenHttpMethodFilter</filter-name>
  7. <url-pattern>/*</url-pattern>
  8. </filter-mapping>
  • 配置SpringMVC

    • 导入命名空间
      打开我们自己定义的配置文件springMVC.xml选择Namespace,勾选context和MVC
    • 添加组成扫描,包含过滤注解

      1. <context:component-scan base-package="com.jikexueyuancrm"
      2. use-default-filters="false">
      3. <context:include-filter type="annotation"
      4. expression="org.springframework.stereotype.Controller" />
      5. <context:include-filter type="annotation"
      6. expression="org.springframework.web.bind.annotation.ControllerAdvice" />
      7. </context:component-scan>
    • 添加视图解析器

      其中class类名可以通过ctrl+shift+T输入InternalResourceViewResolver获得

      1. <bean
      2. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      3. <property name="prefix" value="/"></property>
      4. <property name="suffix" value=".jsp"></property>
      5. </bean>
    • 配置静态资源

      1. <mvc:default-servlet-handler />
    • 配置注解

      1. <mvc:annotation-driven />
  • 配置Spring

    • 导入命名空间
      打开我们自己定义的配置文件spring.xml选择Namespace,勾选context(上下文)和tx(事物)
    • 添加组成扫描,排除被SpringMVC包含的过滤注解

      1. <context:component-scan base-package="com.jikexueyuancrm"
      2. use-default-filters="false">
      3. <context:exclude-filter type="annotation"
      4. expression="org.springframework.stereotype.Controller" />
      5. <context:exclude-filter type="annotation"
      6. expression="org.springframework.web.bind.annotation.ControllerAdvice" />
      7. </context:component-scan>
    • 配置数据库

      1. <context:property-placeholder location="classpath:db.properties" />
    • 数据库内容

      1. jdbc.user=root
      2. jdbc.passowrd=
      3. jdbc.driverClass=com.mysql.jdbc.Driver
      4. jdbc.jdbcUrl=jdbc:mysql:///jianlam
    • 配置DataSource-数据库关联的东西

      这里用到cp30的包,C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。

      1. <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource">
      2. <property name="user" value="${jdbc.user}"></property>
      3. <property name="password" value="${jdbc.passowrd}"></property>
      4. <property name="driverClass" value="${jdbc.driverClass}"></property>
      5. <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
      6. </bean>
    • 配置hibernate整合

      需要orm包-Object Relational Mapping 对象关系映射,POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans

      1. <bean class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
      2. id="sessionFactory">
      3. <!-- 配置数据源 -->
      4. <property name="dataSource" ref="dataSource"></property>
      5. <!-- 找到实体包(pojo) -->
      6. <property name="namingStrategy">
      7. <bean class="org.hibernate.cfg.ImprovedNamingStrategy"></bean>
      8. </property>
      9. <property name="packagesToScan" value="com.jianlam.entity"></property>
    • 配置hibernate常用属性

      1. <property name="hibernateProperties">
      2. <props>
      3. <!-- 数据库的方言 -->
      4. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
      5. <prop key="hibernate.show_sql">true</prop>
      6. <prop key="hibernate.format_sql">true</prop>
      7. <prop key="hibernate.hbm2ddl.auto">update</prop>
      8. </props>
      9. </property>
      10. </bean>
    • 配置hibernate事物管理器

      1. <bean id="transactionManager"
      2. class="org.springframework.orm.hibernate4.HibernateTransactionManager">
      3. <property name="sessionFactory" ref="sessionFactory"></property>
      4. </bean>

测试

创建好实体类和数据库表,查看连接操作数据库是否能正常运作,若没有问题则配置成功!

  1. private spring ctx = null;
  2. @Test
  3. public void testDataSource() throws SQLException {
  4. //检查spring配置
  5. ctx = new ClassPathXmlApplicationContext("spring.xml");
  6. // System.out.println(ctx);
  7. //检查数据库连接
  8. DataSource dataSource = ctx.getBean(DataSource.class);
  9. // System.out.println(dataSource.getConnection().toString());
  10. //检查hibernate配置
  11. SessionFactory sessionFactory = ctx.getBean(SessionFactory.class);
  12. System.out.println(sessionFactory);
  13. Session session = sessionFactory.openSession();
  14. Transaction tx = session.beginTransaction();
  15. //测试数据库
  16. Users user = new Users ("jianlam", "123456");
  17. session.save(user);
  18. tx.commit();
  19. session.close();
  20. }

如果你的mysql有问题或对于MVC模式下所需的包分类有所困惑可参考:这里

这是我找到的最好的配置文件之一,本来今天想整一个好一点的到网上。因为网上很多都是很糟糕的,各种问题。楼主这个好,每个配置都说的很清楚,终于完整的知道这些东西,是什么用的了。可惜不是maven的。我用的maven。对了,楼主有个类没写出来,一般新手要调试半天,我发出来 import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Users {
@ID
@column(name = "id", unique = false, nullable = false)
private int id;
private String name;
private String password;

public Users(String name, String password) {
super();
this.name = name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}
再次感谢!

Spring + Spring MVC+Hibernate框架整合详细配置的更多相关文章

  1. SSH(Spring SpringMVC Hibernate)框架整合

    项目说明: 使用SSH(Spring SpringMVC Hibernate)框架整合添加部门功能 项目结构   1.导入依赖jar包 <!--单测--> <dependency&g ...

  2. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  3. struts2 + spring + mybatis 框架整合详细介绍

    struts2 + spring + mybatis  框架整合详细介绍 参考地址: https://blog.csdn.net/qq_22028771/article/details/5149898 ...

  4. Spring MVC、MyBatis整合文件配置详解

    Spring:http://spring.io/docs MyBatis:http://mybatis.github.io/mybatis-3/ Building a RESTful Web Serv ...

  5. Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例

    Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...

  6. Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用

    Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...

  7. Spring+SpringMVC+MyBatis+Maven框架整合

    本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sprin ...

  8. ssm三大框架整合基本配置

    ssm三大框架整合基本配置 maven目录结构 数据库脚本mysql create database maven; use maven ; -- --------------------------- ...

  9. Struts2+Spring+Hibernate框架整合总结详细教程

    一.SSH三大框架知识总结 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与S ...

随机推荐

  1. Neutron VxLAN + Linux Bridge 环境中的网络 MTU

    1. 基础知识 1.1 MTU   一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层 ...

  2. [转]ORA-01034: ORACLE not available如何解决

    本文转自:http://www.cnblogs.com/zhwl/p/3726003.html 一个小小的问题,让我折腾了一个上午,下午三点彻底解决了,分享一个给大家解决方法,尽管在测试服务器上,但是 ...

  3. Java内存模型与垃圾回收

    1.Java内存模型 Java虚拟机在执行程序时把它管理的内存分为若干数据区域,这些数据区域分布情况如下图所示: 程序计数器:一块较小内存区域,指向当前所执行的字节码.如果线程正在执行一个Java方法 ...

  4. CSS样式----图文详解(二):css属性

    主要内容 CSS的单位 字体属性 文本属性 背景属性 列表属性 盒子模型 定位属性:position.float.overflow.z-index等 导航栏的制作 鼠标的属性cursor 滤镜的介绍 ...

  5. POJ3666Making the Grade[DP 离散化 LIS相关]

    Making the Grade Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6445   Accepted: 2994 ...

  6. 网络之OSI七层模型

    1.  物理层:设备之间的比特流的传输,物理接口,电气特性等 2.  数据链路层:成帧,用MAC地址访问媒介,错误检测与修正 3.  网络层:提供逻辑地址(IP),选路 4.  传输层:可靠与不可靠的 ...

  7. [No00005A]word多文档合一

    2个方法:法一,一个个插入,法二,一次性插入多个. 法一: 视图->大纲视图 点击 大纲 -> 显示文档 点击插入,逐个插入文档.. 最终 将视图调回页面视图..结束. 法二: 插入 - ...

  8. jsp的九大内置对象和四大作用域

    定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量? JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):? 1.request对象(作用域)? 客户 ...

  9. androidSDK无法更新的解决方法之一

    方法来源于: http://www.eoeandroid.com/thread-281075-1-1.html 试试这个,能解决国内访问Google服务器的困难启动 Android SDK Manag ...

  10. Protocol in Objective-C

    Objecttive-C  Protocal 相似 Java Interface