-------------------------siwuxie095

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

整合 SpringMVC 框架和 Spring 框架

 
 

 
 

1、导入相关
jar 包(共 17 个)

 
 

(1)导入
Spring 的核心 jar 包和日志相关的 jar 包(6 个)

 
 

 
 

 
 

Commons Logging
下载链接:

 
 

http://commons.apache.org/proper/commons-logging/download_logging.cgi

 
 

 
 

LOG4J 下载链接:

 
 

https://www.apache.org/dist/logging/log4j/

 
 

 
 

 
 

(2)导入
Spring 的 AOP 开发的 jar 包(4 个)

 
 

 
 

 
 

AOP Alliance
下载链接:

 
 

http://mvnrepository.com/artifact/aopalliance/aopalliance

 
 

 
 

AspectJ Weaver
下载链接:

 
 

http://mvnrepository.com/artifact/org.aspectj/aspectjweaver

 
 

 
 

 
 

(3)导入
Spring 的
JDBC 开发的 jar 包(2 个)

 
 

 
 

 
 

 
 

(4)导入
Spring 整合 Web 项目的 jar 包(1 个)

 
 

 
 

 
 

 
 

(5)导入
SpringMVC 的 jar 包(1 个)

 
 

 
 

 
 

 
 

(6)导入
SpringMVC 中使用 JSON 所需的 jar 包(3 个)

 
 

 
 

 
 

Jackson Core 下载链接:

 
 

http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/

 
 

 
 

Jackson Annotations 下载链接:

 
 

http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/

 
 

 
 

Jackson Databind 下载链接:

 
 

http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/

 
 

 
 

 
 

 

 

2、测试

 
 

(1)编写一个
Controller 类

 
 

UserController.java:

 
 

package com.siwuxie095.controller;

 
 

import org.springframework.http.HttpStatus;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseStatus;

 
 

import com.siwuxie095.service.UserService;

 
 

// Controller 类

@Controller

@RequestMapping("/user")

public class UserController {

 

private UserService userService;

 

public
void setUserService(UserService userService) {

this.userService = userService;

}

 

/**

*/

@RequestMapping("/show")

@ResponseStatus(HttpStatus.OK)

public
void show() {

 

System.out.println("UserController 调用了 " + userService.show());

 

}

 

}

 
 

 
 

 
 

(2)编写一个
Service 类

 
 

UserService.java:

 
 

package com.siwuxie095.service;

 
 

// Service 类

public class UserService {

 
 

public String show(){

return
"UserService";

}

 

}

 
 

 
 

 
 

(3)在
Spring 核心配置文件中进行配置

 
 

applicationContext.xml:

 
 

<?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:aop="http://www.springframework.org/schema/aop"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd">

 

 

<!-- 配置 Service 对象 -->

<bean
id="userService"
class="com.siwuxie095.service.UserService"/>

 
 

 
 

</beans>

 
 

 
 

 
 

(4)在
SpringMVC 核心配置文件中进行配置

 
 

dispatcher-servlet.xml:

 
 

<?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:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

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

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd">

 

 

<!-- 启用注解驱动 -->

<mvc:annotation-driven/>

 

 

<!--

配置 Controller(必须,即
必须进行配置)

 

class 为自定义 Controller 类的完全限定名,这里通过 Controller

类中的 @RequestMapping 注解来设置访问路径

 

使用纯注解时,另一种配置 Controller 的方式:配置扫描包

<context:component-scan base-package="com.siwuxie095.controller" />

-->

<bean
id="userController"
class="com.siwuxie095.controller.UserController">

<property
name="userService"
ref="userService"/>

</bean>

 

 

<!-- 配置 ViewResolver(必须,即
必须进行配置) -->

<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<!--

配置视图解析的前缀 prefix 和后缀 suffix:

(1)前缀:如果在 WebContent 目录下,则为 /,如果在 WEB-INF 目录下,则为 /WEB-INF/

(2)后缀:一般为 JSP 文件,所以为 .jsp

 

例如:prefix="/",suffix=".jsp",viewname="test",则:"/test.jsp"

-->

<property
name="prefix"
value="/"/>

<property
name="suffix"
value=".jsp"/>

</bean>

 

 

</beans>

 
 

 
 

 
 

(5)在部署描述文件中进行配置

 
 

web.xml:

 
 

<?xml
version="1.0"
encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">

<display-name>TestSpringMVCAndSpring</display-name>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.htm</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

 

 

<!-- 配置 Spring 的监听器 ContextLoaderListener -->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

<!-- 配置 Spring 核心配置文件的位置(路径) -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

 

 

<!-- 配置 SpringMVC 的核心分发器 -->

<servlet>

<servlet-name>dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- 配置 SpringMVC 核心配置文件的位置(路径) -->

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:dispatcher-servlet.xml</param-value>

</init-param>

<!-- 自动加载:随 Tomcat 容器启动,完成初始化 -->

<load-on-startup>1</load-on-startup>

</servlet>

 

<servlet-mapping>

<servlet-name>dispatcher</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

 

 

</web-app>

 
 

 
 

 
 

(6)访问路径

 
 

http://localhost:8080/工程名/user/show.do

 
 

 
 

 
 

 
 

 
 

附:

 
 

另一种配置方式,即
纯注解,对以上「测试」做如下修改:

 
 

(1)在
Controller 类中:

 
 

1)在 userService 属性上加 @Autowired 注解

 
 

2)删掉
userService 属性的 setter 方法

 
 

 
 

(2)在
Service 类中:

 
 

在类上加 @Service 注解

 
 

 
 

(3)在
Spring 核心配置文件中:

 
 

1)删掉 userService 的 Bean

 
 

2)加上
<context:component-scan base-package="com.siwuxie095.service"/>

 
 

 
 

(4) 在 SpringMVC 核心配置文件中:

 
 

1)删掉 userController 的 Bean

 
 

2)加上
<context:component-scan base-package="com.siwuxie095.controller"/>

 
 

 
 


综合(3)(4):删掉两个
Bean,在 SpringMVC 核心配置文件中

加上如下内容:

 
 

<context:component-scan base-package="com.siwuxie095"/>

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

整合SpringMVC框架和Spring框架的更多相关文章

  1. 整合Struts2框架和Spring框架

    -----------------------siwuxie095                                 整合 Struts2 框架和 Spring 框架         1 ...

  2. SpringMVC学习指南-Spring框架

    Spring框架主要使用依赖注入.实际上,很多牛叉的框架如Google的Guice都是使用依赖注入. ------------------------------------------------- ...

  3. Eclipse/JavaWeb (三)三大框架之Spring框架 持续更新中...

    (一)发展历史 现在我们有三个层了,可是每层之间的调用是怎样的呢?比如显示层的struts需要调用一个业务类,就需要new一个业务类出来,然后使用:业务层需要调用持久层的类,也需要new一个持久层类出 ...

  4. 什么是Spring框架? Spring框架有哪些主要的模块?

    Spring框架是一个为java应用程序的开发提供了综合,广泛的基础性支持的java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring框架本身亦是 ...

  5. Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis

    https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...

  6. Java框架:spring框架整合hibernate框架的xml配置(使用注解的方式)

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  7. 零基础学习java------40---------Maven(maven的概念,安装,maven在eclipse中使用),springboot(spring整合springmvc(注解),spring整合mybatis(常见的配置文件)),前端页面(bootstrap软件)

    一 maven 1. Maven的相关概念 1.1 项目开发中遇到的问题 (1)都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? (2)为什么在我的机器上可以正常打包,而配置管理 ...

  8. Java框架之spring框架的优点,为什么要学习spring框架

    为什么要学习Spring的框架a: 方便解耦,简化开发    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 b:AOP编程的支持      Spring提供面向切 ...

  9. Spring框架学习(5)spring整合struts2

    内容源自:spring整合struts2 一.spring框架对struts等表现层框架的整合原理 : 使用spring的ioc容器管理struts中用于处理请求的Action 将Action配置成i ...

随机推荐

  1. python:用wordcloud生成一个文本的词云

    今天学习了wordcloud库,对<三国演义>生成了词云图片,非常漂亮.就想多尝试几个,结果发现一系列问题.最常出现的一个错误就是"UnicodeDecodeError : .. ...

  2. AJAX 请求后使用 JS 打开新标签页被阻止的解决方法

    需求:发起一个 AJAX 请求,根据请求结果来打开一个新页面. 问题:AJAX 请求后,使用 window.open() 方法来打开新页面会被浏览器阻止. 解决方法:在 AJAX 请求之前,就使用 c ...

  3. github与github网站push神器

    GitBook.Editor(全英文,无汉化) 链接: http://pan.baidu.com/s/1slIZ5jJ 密码: q9mw source tree (汉化中文) 本地需要安装git客户端 ...

  4. web前端3.0时代,“程序猿”如何“渡劫升仙”?

    世界上目前已经有超过18亿的网站.其中只有不到2亿的网站是活跃的.且每天都有几千个新网站不断被创造出来. 2017年成果显著,网络上出现了像Vue这样的新JavaScript框架:基于用户体验流程的开 ...

  5. Day 06 元组,字典,集合

    元组 一.定义:参数为for可以循环的对象(可迭代对象) t2 = tuple("123")print(t2, type(t2))t3 = tuple([1, 2, 3])prin ...

  6. map/reduce/filter/lambda

    Python内建了map()/reduce()/filter()函数. map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的It ...

  7. BCC校验小知识

    BCC校验其实是奇偶校验的一种,但也是经常使用并且效率较高的一种.所谓BCC校验法,就是在发送前和发送后分别把BCC以前包括ETX字符的所有字符按位异或后,按要求变换(增加或去除一个固定的值)后所得到 ...

  8. [UE4]Scroll Box带滚动条的容器

    一.黑边,当可以往下滚动的时候,下边会出现黑边.当可以往上滚动的时候,上边也会出现黑边.   Scroll Box.Style.Style:也可以自定义上下左右黑边的样式: 二.Scroll Box. ...

  9. asp.net web api 权限验证的方法

    思路:客户端使用header或者form讲验证信息传入api,在权限验证过滤中进行处理,代码示例: 定义过滤器 public class ApiFilter1 : System.Web.Http.Au ...

  10. 红外NEC协议

    注意: 用示波器在接收头抓的电平看起来和NEC协议刚好相反, 那是因为:HS0038B 这个红外一体化接收头,当收到有载波的信号的时候,会输出一个低电平,空闲的时候会输出高电平. 具体情况,具体分析. ...