Spring + Spring MVC+Hibernate框架整合详细配置

Spring + Spring MVC+Hibernate框架整合详细配置_第1张图片

具体配置参数:

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包

  • Spring的jar包
  • Hibernate(附地址)的jar包
  • 第三方jar包(日志包)
  • 数据库的jar包
Spring + Spring MVC+Hibernate框架整合详细配置_第2张图片

配置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模式下所需的包分类有所困惑可参考:这里

你可能感兴趣的:(Spring + Spring MVC+Hibernate框架整合详细配置)