搭建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 中的方法。
相关推荐
通过这个压缩包,开发者可以快速地搭建一个具备分页功能的SSM(Spring、SpringMVC、MyBatis)项目,并以此为基础进行自己的业务开发。这不仅节省了时间,也降低了出错的可能性,是学习和实践Java Web开发的好资料。
在搭建SpringMVC项目时,Eclipse提供了强大的项目管理、代码编辑、调试和构建工具,使得开发过程更为便捷。 其次,`Maven` 是一个项目管理和综合工具,它通过配置文件(pom.xml)来管理项目的依赖关系,构建流程和...
这个名为"SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip"的压缩包很可能包含了一个完整的项目模板或者学习资料,旨在帮助开发者快速搭建基于这两个框架的Web应用。 首先,SpringMVC是一个模型-视图-控制器(MVC...
1. 引入依赖:在项目中添加Spring、SpringMVC和Mybatis的相关JAR包或者使用Maven或Gradle管理依赖。 2. 配置Spring:创建Spring的上下文配置文件,定义Bean,包括DataSource、SqlSessionFactory、...
本教程将详细阐述如何使用四个关键组件——Maven、SpringMVC、MyBatis和Log4j——来搭建一个强大的Web应用框架,旨在提高开发效率并优化项目管理。 **Maven** 是一个流行的项目管理和综合工具,它通过统一的构建...
本整合包提供了这三个组件的最新版本,即mybatis-3.4.5、springMVC-5.0.4和mybatis-spring-1.3.2,旨在帮助开发者快速搭建基于这些技术的项目环境。 **MyBatis** 是一个优秀的持久层框架,它支持定制化SQL、存储...
在Java Web开发中,SSM框架(Spring、SpringMVC、MyBatis)是一个非常流行的组合,被广泛用于构建高效且可维护的企业级应用。本文将深入探讨如何使用Maven来搭建一个基于SSM的开发环境,并结合MyBatis Generator进行...
标题 "Spring SpringMVC Mybatis easyui" 描述了一个整合了Spring、SpringMVC、Mybatis和EasyUI技术的项目,这些技术都是在Java Web开发中广泛应用的组件。接下来,我们将详细探讨这些技术以及它们如何协同工作。 1...
1. **Spring**:Spring是一个开源的应用框架,提供依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等核心功能。在SSM架构中,Spring作为整个应用的容器,管理着其他组件的...
在搭建SpringMVC+MyBatis框架的过程中,我们首先需要配置Spring的ApplicationContext,定义Bean的生命周期和依赖关系。这通常通过XML配置文件完成,但也可以使用Spring Boot的注解驱动配置。接着,我们需要配置...
总结来说,"spring/springmvc/mybatis所需jar包"涵盖了Spring、SpringMVC和MyBatis框架的基本运行环境,开发者可以通过这些库文件快速搭建一个基于这三个框架的Java Web项目,进行高效、灵活的后端开发。同时,理解...
【标题】"intelliJ IDEA搭建Spring-SpringMVC-MyBatis整合教程" 在Java Web开发领域,Spring、SpringMVC和MyBatis是三个非常重要的框架,它们的组合可以构建出高效、灵活的企业级应用。本教程将详细介绍如何在...
这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...
在"标签"为"ssm"的情况下,这是Spring、SpringMVC和Mybatis三个框架英文首字母的组合,常用来表示这个项目或应用使用了这三个框架的集成解决方案。SSM框架集成解决了Java Web开发中的许多问题,如业务逻辑处理、数据...
Spring、SpringMVC和Mybatis是Java开发中非常流行的三大框架,它们的整合使用能构建出高效、可维护的企业级Web应用。这个压缩包文件包含了这三个框架的核心组件,旨在简化开发人员的集成工作,确保应用可以顺利运行...
《Spring+SpringMVC+MyBatis整合框架的增删改查实现详解》 在Java Web开发领域,Spring、SpringMVC和MyBatis是三种非常重要的技术,它们各自负责不同的职责,共同构建了一个强大的后端开发框架。本示例项目“spring...
以上就是使用注解方式搭建SpringMVC和MyBatis框架的基本步骤,以及如何进行测试。这样的配置使得项目更加简洁,降低了XML配置的工作量,提高了开发效率。在实际开发中,我们还可以结合其他Spring功能,如AOP(面向切...
SSM(SpringMVC、Spring、Mybatis)是Java Web开发中常见的三层架构组合,广泛应用于各种企业级应用系统。这个压缩包文件"ssm"很可能是包含了一个基本的SSM项目的源代码示例。下面我们将深入探讨这三个组件及其在...
1. **mybatis.jar**:MyBatis的主要库,包含了所有MyBatis的类和接口。 2. **mybatis-spring.jar**:这是Spring与MyBatis的整合包,提供了Spring Bean与MyBatis之间的桥梁,如SqlSessionFactoryBean和...
【标题】"SpringMVC精品资源--用springboot + springmvc + mybatis + maven搭建.zip"揭示了这个压缩包包含的是一个使用Spring Boot、Spring MVC、MyBatis和Maven构建的项目模板或者教程资源。这个组合是现代Java开发...