`

搭建springMVC mybatis 应用--1

 
阅读更多

 

搭建springMVC mybatis  应用--1

 

1、工作中搭建了一遍springMVC mybatis的一个应用,原本想象的很简单,但真实际做时才发现总会有各种

      各样的问题。IT这个行业是最注重实践的,还是要多动手做。

      纸上得来终觉浅 ,绝知此事要躬行。

 

2、程序的序即顺序,做程序很多时候就是要理清这"序"

     很多时候我们一些事做的很乱就是没理清楚顺序,理清顺序,遵循顺序事情才能变得简单。

 

3、搭建一个 spring MVC+ mybatis的应用,你先想想应当按照怎样的顺序来做?

      一般来说无非两种顺序:从前向后、从后向前。

      从前向后:先搭建web层  能做到接收http请求 返回响应 ,再搭建DAO层

      从后向前:先搭建DAO层  能完成基本的增删改查,再搭建web层 能接收http请求。

      就先选择从前向后吧 

 

4、下一步该做什么了呢?

      我要先确定使用的 spring的版本 查了下spring官网当前的release版本已到4.2.5  

      那就使用最新的4.2.5吧。

      看官网的起步说明现在已经推荐使用spring boot 来配置spring应用,这个先不管他。

      我打算还是使用传统的配置方式。

   

5、依赖管理使用maven , spring官网的例子就是maven的,我也使用maven。

 

6、在eclipse新建maven工程

 

 

7、先已经有个工程了,怎么把spring mvc 弄进来?

     先想一下 spring MVC运行流程:

     客户端发送http请求到 web服务器,web服务器把http请求发送封装为java对象,

     传递给 spring 的DispatcherServlet,然后进入spring mvc的处理流程。

    

     所以DispatcherServlet 是spring mvc的起点,首先要配置 spring的这个DispatchServlet。

     怎么配置 这个 Servlet ?

     这个和配置我们自己写的Servlet没多大区别,spring官网文档给出了例子:

     

<web-app>
    <servlet>
        <servlet-name>example</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>example</servlet-name>
        <url-pattern>/example/*</url-pattern>
    </servlet-mapping>

</web-app>

 

   

     注意一点:

       load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。

       1表示容器启动时就实例化这个Servlet,配成0或不配置表示这个Servlet被请求时才实例化。

   

8、web应用下怎么加载spring的配置文件。

     对于一个非web应用 ,我们如下的方式加载spring的配置文件, 初始化ApplicationContext:

 

   ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath*:META-INF/spring/**/*.xml");
   ctx.start(); 
    那么 web应用下怎么加载这些配置文件?

 

    若web.xml中配置的DispatcherServlet 如 7 中那样配置,你必须配置文件 

      /WEB-INF/example-servlet.xml   ------配置spring mvc  的 bean 的文件 。

      当然我们一般不会这么干,我们还有另外一个选择,可以使用  servlet init parameter 来指定:

   看下面的实例配置:

     

<web-app>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/root-context.xml</param-value>
    </context-param>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value></param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

 

  

     contextConfigLocation 指定了spring配置文件位置。

      若是多个xml文件可以:

  

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/spring-*.xml</param-value>
  </context-param>

 

9、DispatcherServlet 收到http请后要转发给Controller进行处理。

      使用注解@Controller即可把类配置为Controller.

       spring 会扫描@Controller标记的类,并注册为WebApplicationContext的bean

       要在spring配置文件配置 Controller的扫描基础包路径:

       

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="org.springframework.samples.petclinic.web"/>

    <!-- ... -->

</beans>

    

 

10、配置<mvc:annotation-driven/>

         DispatcherServlet 收到http请后要转发给Controller,这个过程还要做一系列的处理:

         怎么确定把这个http请求交个哪个 Controller处理?

         请求参数的如何绑定?

         消息转换器怎么配置?是json还是xml

         等等。

         这些东西在spring mvc 的较早版本都是要配置的。

 

         现在基本都是通过注解处理:

             @NumberFormat 、@RequestMapping、@ExceptionHandler、@RequestBody

    只是在配置文件中开启注解驱动即可:

     

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <mvc:annotation-driven/>

</beans>

 

  官方文档的说明:

    The above registers a RequestMappingHandlerMapping, a RequestMappingHandlerAdapter,

    and an ExceptionHandlerExceptionResolver (among others) in support of processing requests    

    with annotated controller methods using annotations such as @RequestMapping,

    @ExceptionHandler, and others.

 

      意思:

      <mvc:annotation-driven/>注册了RequestMappingHandlerMapping、     

       RequestMappingHandlerAdapter、ExceptionHandlerExceptionResolver 的bean

      来支持处理使用类似 @RequestMapping, @ExceptionHandler注解标记的 controller 中的方法。

 

 

  • 大小: 14.7 KB
分享到:
评论

相关推荐

    spring + springmvc + mybatis 整合 及 mybatis-pagehelper分页

    通过这个压缩包,开发者可以快速地搭建一个具备分页功能的SSM(Spring、SpringMVC、MyBatis)项目,并以此为基础进行自己的业务开发。这不仅节省了时间,也降低了出错的可能性,是学习和实践Java Web开发的好资料。

    使用 eclipse oxygen maven 搭建 springmvc mybatis druid 的增删改框架代码

    在搭建SpringMVC项目时,Eclipse提供了强大的项目管理、代码编辑、调试和构建工具,使得开发过程更为便捷。 其次,`Maven` 是一个项目管理和综合工具,它通过配置文件(pom.xml)来管理项目的依赖关系,构建流程和...

    SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip

    这个名为"SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip"的压缩包很可能包含了一个完整的项目模板或者学习资料,旨在帮助开发者快速搭建基于这两个框架的Web应用。 首先,SpringMVC是一个模型-视图-控制器(MVC...

    SpringMVC-Mybatis-SSM结构JAR包.rar

    1. 引入依赖:在项目中添加Spring、SpringMVC和Mybatis的相关JAR包或者使用Maven或Gradle管理依赖。 2. 配置Spring:创建Spring的上下文配置文件,定义Bean,包括DataSource、SqlSessionFactory、...

    maven+springmvc+mybatis+log4j框架搭建

    本教程将详细阐述如何使用四个关键组件——Maven、SpringMVC、MyBatis和Log4j——来搭建一个强大的Web应用框架,旨在提高开发效率并优化项目管理。 **Maven** 是一个流行的项目管理和综合工具,它通过统一的构建...

    mybatis-3.4.5、springMVC-5.0.4、mybatis-spring-1.3.2整合包

    本整合包提供了这三个组件的最新版本,即mybatis-3.4.5、springMVC-5.0.4和mybatis-spring-1.3.2,旨在帮助开发者快速搭建基于这些技术的项目环境。 **MyBatis** 是一个优秀的持久层框架,它支持定制化SQL、存储...

    maven+Spring+SpringMVC+mybatis+mybatis-generator 搭建SSM开发环境

    在Java Web开发中,SSM框架(Spring、SpringMVC、MyBatis)是一个非常流行的组合,被广泛用于构建高效且可维护的企业级应用。本文将深入探讨如何使用Maven来搭建一个基于SSM的开发环境,并结合MyBatis Generator进行...

    Spring SpringMVC Mybatis easyui

    标题 "Spring SpringMVC Mybatis easyui" 描述了一个整合了Spring、SpringMVC、Mybatis和EasyUI技术的项目,这些技术都是在Java Web开发中广泛应用的组件。接下来,我们将详细探讨这些技术以及它们如何协同工作。 1...

    SSM-spring-springmvc-mybatis-jstl-mysql-c3p0整合开发jar(4.3版)包下载

    1. **Spring**:Spring是一个开源的应用框架,提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等核心功能。在SSM架构中,Spring作为整个应用的容器,管理着其他组件的...

    springMVC+mybatis搭建框架

    在搭建SpringMVC+MyBatis框架的过程中,我们首先需要配置Spring的ApplicationContext,定义Bean的生命周期和依赖关系。这通常通过XML配置文件完成,但也可以使用Spring Boot的注解驱动配置。接着,我们需要配置...

    spring/springmvc/mybatis所需jar包

    总结来说,"spring/springmvc/mybatis所需jar包"涵盖了Spring、SpringMVC和MyBatis框架的基本运行环境,开发者可以通过这些库文件快速搭建一个基于这三个框架的Java Web项目,进行高效、灵活的后端开发。同时,理解...

    intllij idea 搭建Spring SpringMVC mybatis

    【标题】"intelliJ IDEA搭建Spring-SpringMVC-MyBatis整合教程" 在Java Web开发领域,Spring、SpringMVC和MyBatis是三个非常重要的框架,它们的组合可以构建出高效、灵活的企业级应用。本教程将详细介绍如何在...

    Spring-SpringMVC-Mybatis整合所有jar包

    这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...

    springMVC-Spring-Mybatis的jar包

    在"标签"为"ssm"的情况下,这是Spring、SpringMVC和Mybatis三个框架英文首字母的组合,常用来表示这个项目或应用使用了这三个框架的集成解决方案。SSM框架集成解决了Java Web开发中的许多问题,如业务逻辑处理、数据...

    Spring SpringMVC Mybatis 整合jar包

    Spring、SpringMVC和Mybatis是Java开发中非常流行的三大框架,它们的整合使用能构建出高效、可维护的企业级Web应用。这个压缩包文件包含了这三个框架的核心组件,旨在简化开发人员的集成工作,确保应用可以顺利运行...

    spring+springMVC+mybatis增删改查demo(格式规范,测试可用!)

    《Spring+SpringMVC+MyBatis整合框架的增删改查实现详解》 在Java Web开发领域,Spring、SpringMVC和MyBatis是三种非常重要的技术,它们各自负责不同的职责,共同构建了一个强大的后端开发框架。本示例项目“spring...

    springMVC mybatis annotation框架搭建

    以上就是使用注解方式搭建SpringMVC和MyBatis框架的基本步骤,以及如何进行测试。这样的配置使得项目更加简洁,降低了XML配置的工作量,提高了开发效率。在实际开发中,我们还可以结合其他Spring功能,如AOP(面向切...

    Maven 搭建SpringMVC+Mybatis框架

    SSM(SpringMVC、Spring、Mybatis)是Java Web开发中常见的三层架构组合,广泛应用于各种企业级应用系统。这个压缩包文件"ssm"很可能是包含了一个基本的SSM项目的源代码示例。下面我们将深入探讨这三个组件及其在...

    搭建springMVC结合Mybatis所需的所有jar包

    1. **mybatis.jar**:MyBatis的主要库,包含了所有MyBatis的类和接口。 2. **mybatis-spring.jar**:这是Spring与MyBatis的整合包,提供了Spring Bean与MyBatis之间的桥梁,如SqlSessionFactoryBean和...

    SpringMVC精品资源--用springboot + springmvc + mybatis + maven搭建.zip

    【标题】"SpringMVC精品资源--用springboot + springmvc + mybatis + maven搭建.zip"揭示了这个压缩包包含的是一个使用Spring Boot、Spring MVC、MyBatis和Maven构建的项目模板或者教程资源。这个组合是现代Java开发...

Global site tag (gtag.js) - Google Analytics