整合Spring+SpringMvc+Hibernate

1.创建maven工程,导入pom配置文件:
  • 同一版本管理:

  • 引入springMvc的文件:

<!-- SpringMVC -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>
<!-- ServletAPI 导入的原因是DispatchServerlet需要用到httpServerlet -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
<!-- SpringAOP -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>${spring.version}</version>
</dependency>
  • 实习json传参:

<!--        jackson-databind是jackson的核心包,用于json序列化和反序列化-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.1</version>
</dependency>
  • 数据库配置:

<!--        数据库连接-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.31</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.9</version>
</dependency>
<!--导入hibernate依赖-->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.9.Final</version>
</dependency>
  • 通过spring来整合hibernate:

<!--        这个依赖是 Spring 整合 Hibernate 所使用的模块,可以将 Hibernate 加入 Spring 的事务管理-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
2.将maven项目转变成web项目
  • 第一步

  • 第二步 添加路径

  • 2.1重新加载maven后打开项目结构找到Modules中的web(没有需要刷新maven尝试!)

  • 2.2 添加web.xml配置文件。(同时项目会自动生成静态资源文件)
  • 注意路径问题需要和你项目结构一致
  • 需要在\WEB-INF前面加上\src\main\webapp
  • 整体路径如下:
3.进行对web.xml文件进行配置springMvc和spring(配置的是web.xml中的内容)
  • 加载springMvc
<!-- spring MVC config start-->
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <!--通过java的反射机制加载-->
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 此处指向的的是SpringMVC的配置文件 -->
        <param-value>classpath:springMvc.xml</param-value>
    </init-param>
    <!--让我们springmvc DispatcherServlet优先被加载-->
    <load-on-startup>1</load-on-startup>
</servlet>
<!--客户端发送所有请求 都会达到我们的 DdispatcherServlet 静态资源 控制器中,请求-->
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<!-- spring MVC config end-->
  • 加载spring

    <!--加载Spring的配置文件到上下文中去-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
    </context-param>
    <!-- Spring监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
  • 配置字符集转化和过滤

    <!--  字符集过滤  -->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
4.配置springMvc(配置springMcv.xml中的内容)
  • 开启扫描(也就是扫描注解)

    <!--    开启扫描组件也就是注解-->
        <context:component-scan base-package="jishenao.kj.controller"/>
  • 开启Mvc的注解驱动(主要用与加载handlerMppering、handlerAdapter、以及ViewAndModel这些springMvc的组件)

        <!--    开启mvc的注解驱动-->
        <mvc:annotation-driven/>
  • 配置视图解析

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/pages/"/>
        <property name="suffix" value=".html"/>
    </bean>
  • 处理静态资源文件(放行js以及css)

     <!--    配置静态资源映射-->
        <mvc:resources mapping="/pages/**" location="/pages/"/>
  • 设置视图控制器

        <!--    设置视图控制器 :为当前的请求直接设置试图名称实现页面跳转   -->
        <mvc:view-controller path="/" view-name="index"></mvc:view-controller>
5.配置spring(配置spring.xml中的内容)
  • 配置spring的注解扫描

    <context:component-scan base-package="jishenao.kj">
        <!--以注解的形式排除对Controller的扫描,也就是说不要带有Conroller的包-->
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  • spring中加载hibernate

    • 引入数据库配置

      <!--    引入数据库propreties文件-->
      <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
      <!--    配置数据源-->
      <bean id="dataSouce" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
          <property name="driverClassName" value="${jdbc.driver}"></property>
          <property name="url" value="${jdbc.url}"></property>
          <property name="username" value="${jdbc.username}"></property>
          <property name="password" value="${jdbc.password}"></property>
      </bean>
    • 整合hibernate配置

      <!-- 配置 Hibernate 的 SessionFactory 实例: 通过 Spring 提供的 LocalSessionFactoryBean 进行配置 -->
      <bean  id="sessionFactory"  class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
          <!-- 配置数据源属性 -->
          <property name="dataSource" ref="dataSouce"></property>
          <!-- 配置 hibernate 配置文件的位置及名称 -->
          <property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
          <property name="packagesToScan" value="jishenao.kj.entity"></property>
      ​
          <!-- 配置 hibernate 映射文件的位置及名称, 可以使用通配符 (这个是使用xml方式需要引入的property) -->
          <!--        <property name="mappingLocations"-->
          <!--                  value="classpath:com/gong/spring/hibernate/entities/*.hbm.xml"></property>-->
      </bean>
    • 开启声明式事务

      <!--        实现声明式事务-->
      <bean id="hibernateTransactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
          <property name="sessionFactory" ref="sessionFactory"></property>
      </bean>
      <!--    开启注解驱动-->
      <tx:annotation-driven transaction-manager="hibernateTransactionManager"></tx:annotation-driven>
  • 配置Tomcat

    • 找到TomcatService,进入配置页面

    • 添加war项目

    • 实现热更新

    • 1.创建首页

    • 2.配置springMvc中的页面映射

    • 开启项目

  • 项目结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值