SpringMVC的搭建与SSM的整合

因为最近项目又要接触到SpringMVC,所以在这里简单记录一下搭建的过程,方便自己和他人查阅。


一、搭建SpringMVC


1、导入需要的Jar包

因为项目开发使用的是Maven,所以直接在项目文件pom.xml中配置Spring MVC的坐标即可:

<properties>
      //省略了一些其他配置,如之后要配置的MyBatis版本号、Shiro版本号
      <spring.version>4.0.6.RELEASE</spring.version>
</properties>
<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
</dependency>

此处dependency标签元素表示Maven的依赖,groupId、artifactId和version这三个参数构成了Maven的坐标,Maven会自动先去本地仓库(本机的指定目录)搜索是否有对应的Jar包,如果没有再到互联网上将相应的Jar包下载到本地仓库里,然后项目就可以直接从本地仓库中引用此Jar包。这里将Spring的version(版本)放到properties元素中去定义,这样可以统一管理Spring所有依赖的版本号,方便以后添加多个Spring的依赖。这样几行代码,就已经将所有Spring MVC所需要的Jar包导入到了项目中。

2、配置Spring MVC的重要组件

       Spring MVC主要有:一个中心,DispatcherServlet前端控制器;三大组件:处理器映射器、处理器适配器和视图解析器。下面将对这四个重要的组件进行配置。

(1)   配置前端控制器:

由DispatcherServlet我们可以知道,前端控制器实质上就是一个Servlet,所以我们在web.xml中配置它。

<servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
      </init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
      <url-pattern>/</url-pattern>
</servlet-mapping>

这段代码的意思是,将前端控制器对应的servlet取名为dispatcher,拦截所有访问的url,指定前端控制器从/WEB-INF/dispatcher-servlet.xml中读取Spring MVC的配置信息。

(2)   配置三大组件

已经配置好了前端控制器后,我们就在Spring MVC的配置文件dispatcher-servlet.xml中配置三大组件。

①      配置处理器映射器和处理器适配器:

<mvc:annotation-driven />

这样配置,Spring MVC就会自动帮我们配置好支持注解开发的处理器映射器和处理器适配器;

②       配置视图解析器:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property></bean>

这样就配置好了视图解析器。这段代码意思是指定视图的前缀为/WEB/views/,后缀为.jsp。SpringMVC默认使用的视图解析器是JSTL,所以我们还需要导入jstl的Jar包,具体过程就不再阐述。

3、配置Spring MVC的其他内容

(1)   因为配置了前端控制器拦截所有url(配置为“/”),这样连静态资源如js、css、html也被拦截了,所以我们需要配置静态资源不被拦截,即在SpringMVC配置文件中,加入如下代码:

<mvc:default-servlet-handler/>

(2)   还需要配置SpringMVC的扫描范围,只扫描@Controller注解标识的类,即控制器(Controller)层;

(3)   配置SpringMVC的JSON转换器,为了使开发中支持@ResponseBody注解。这需要在处理器适配器中配置JSON转换器,且需要加入jackson相关的Jar包;

(4)   需要在web.xml中配置SpringMVC的编码过滤器:CharacterEncodingFilter,指定编码为UTF-8;

至此,SpringMVC的搭建已经完成,已经基本建立起本项目的MVC模式基础。


二、整合SSM框架


1、Spring和Spring MVC整合

因为Spring MVC是Spring公司提供的MVC解决方案,所以可以和Spring无缝连接,整合比较容易,只需要加入Spring容器即可。

同样首先我们需要先加入Spring容器的Jar包,使用Maven加入。

在web.xml配置Spring容器的启动,有serlvet和监听器两种方式,我们使用监听器的方式配置:

<context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

这段代码表示,配置了Spring的监听器,并制定配置文件为applicationContext.xml文件。

由于Spring MVC已经扫描了@Controller注解,所以我们还需要在applicationContext.xml文件中配置Spring不扫描@Controller注解。

至此,Spring与Spring MVC的整合已经完成。

2、Spring与MyBatis的整合

首先我们需要导入Spring与MyBatis的整合Jar包;然后我们需要配置数据源,而这次项目开发的数据源是由公司同事进行配置的,我就不再具体描述。

Spring与MyBatis整合方式大概有很多种,我们选择比较容易进行开发的:通过Spring-MyBatis的整合包提供的Mapper扫描器MapperScannerConfigurer来自动创建代理对象。MapperScannerConfigurer会查找类路径下的映射器(XXXMapper.java文件),并将它们创建成MapperFactoryBean,MapperFactoryBean会使用到MyBatis提供的SqlSessionFactory创建sqlSession。正是有了这一系列的操作,我们在编写Mapper文件时,只需要编写DAO接口,不需要实现,该接口就会被MyBatis扫描到,然后被Spring自动注入并在内部创建这个接口的动态代理,完成与数据库的交互。即,Spring帮我们完成了该DAO的实现。

即在applicationContext.xml中配置完成MapperScannerConfigurer和SqlSessionFactoryBean之后,Spring与MyBatis的整合就完成了。

至此,Spring +Spring MVC + MyBatis的整合搭建就完成了,系统已经完整的搭建好了基于MVC模式的开发架构,可以进行功能模块的开发了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值