来源于:http://www.jianshu.com/p/8e2f92d0838c
具体配置参数:
Spring: spring-framework-4.2.2
Hibernate: hibernate-release-4.2.21.FinalEclipse : eclipse MARS.2MySQL : mysql 5.5 +Navicat Premiumd视图器System: win 8.1需要下载的文件前面两个就够了,包和参考文档
- 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包
- Spring的jar包
- 的jar包
- 第三方jar包(日志包)
- 数据库的jar包
配置web.xml
手动创建一个config文件夹用与存放配置的文件,这里方便说明记为cf
-
配置Spring的IOC的容器
contextConfigLocation classpath:xx.xml org.springframework.web.context.ContextLoaderListener
其中xx.xml文件是需要你在cf中手动创建的配置文件,里面具体内容后面配置,这里相当于是告诉系统文件在哪,这里为了说明方便命名为spring.xml
-
配置SpringMVC的控制器-DispatcherServlet
dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:xxx.xml 1 dispatcherServlet /*
这里的xxx.xml同上,可自己命名,这里命名为springMVC.xml
-
配置编码方式过滤器
其中filter-class里的名字不用记,可以通过ctrl+shift+T输入
CharacterEncodingFilter获得,且这一步需放在所有过滤器最前面,才有效果
characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 characterEncodingFilter /*
-
配置 HiddenHttpMethodFilter过滤器
其中filter-name里的类名可以通过ctrl+shift+T输入HiddenHttpMethodFilter获得,由于浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,Spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET、POST、PUT与DELETE请求,该过滤器为HiddenHttpMethodFilter
hiddenHttpMethodFilter org.springframework.web.filter.HiddenHttpMethodFilter hiddenHttpMethodFilter /*
-
配置SpringMVC
- 导入命名空间打开我们自己定义的配置文件springMVC.xml选择Namespace,勾选context和MVC
-
添加组成扫描,包含过滤注解
-
添加视图解析器
其中class类名可以通过ctrl+shift+T输入InternalResourceViewResolver获得
-
配置静态资源
-
配置注解
-
配置Spring
- 导入命名空间打开我们自己定义的配置文件spring.xml选择Namespace,勾选context(上下文)和tx(事物)
-
添加组成扫描,排除被SpringMVC包含的过滤注解
-
配置数据库
-
数据库内容
jdbc.user=root jdbc.passowrd= jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc:mysql:///jianlam
-
配置DataSource-数据库关联的东西
这里用到cp30的包,C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。
-
配置hibernate整合
需要orm包-Object Relational Mapping 对象关系映射,POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans
-
配置hibernate常用属性
org.hibernate.dialect.MySQLInnoDBDialect true true update -
配置hibernate事物管理器
测试
创建好实体类和数据库表,查看连接操作数据库是否能正常运作,若没有问题则配置成功!
private spring ctx = null; @Test public void testDataSource() throws SQLException { //检查spring配置 ctx = new ClassPathXmlApplicationContext("spring.xml"); // System.out.println(ctx); //检查数据库连接 DataSource dataSource = ctx.getBean(DataSource.class); // System.out.println(dataSource.getConnection().toString()); //检查hibernate配置 SessionFactory sessionFactory = ctx.getBean(SessionFactory.class); System.out.println(sessionFactory); Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); //测试数据库 Users user = new Users ("jianlam", "123456"); session.save(user); tx.commit(); session.close(); }
如果你的mysql有问题或对于MVC模式下所需的包分类有所困惑可参考:这里
这是我找到的最好的配置文件之一,本来今天想整一个好一点的到网上。因为网上很多都是很糟糕的,各种问题。楼主这个好,每个配置都说的很清楚,终于完整的知道这些东西,是什么用的了。可惜不是maven的。我用的maven。对了,楼主有个类没写出来,一般新手要调试半天,我发出来 import javax.persistence.Column;
import javax.persistence.Entity;import javax.persistence.Id;public class Users { (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;}}再次感谢!