您的位置:首页 > 编程语言 > Java开发

springMVC基础及实例(三)springMVC与spring集成

2014-12-31 22:33 459 查看
先来了解一些基本概念:

1.spring

spring 是一个开源框架,是于2003年兴起的一个轻量级的java开发框架,它是为了解决企业应用开发的复杂行而创建的。框架的主要优势之一是其分层架构,分层架构允许使用者选择使用哪一种组件,同时为j2ee应用程序开发提供集成的框架。Spring使用基本的javaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何java应用都可以从spring中受益,简单来说,spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。



2.springMVC

springMVC属于SpringFramework的后续产品,已经融合在spring web Flow里面。Spring框架提供了构建web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的Spring Web框架,还可以是Struts这样的web框架。 Spring MVC设计围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler
mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图.

下面通过一个实例来介绍Spring和SpringMVC的集成

第一步:引入相关jar包

Spring和SpringMVC本是同一家族虽然说在jar包的结构上发生了很大的变化,但是springMVC的jar包spring是适用的。



第二步:配置文件

1.springAnnotation-core.xml:通过bean注入要调用的接口实现类

<beans>
<bean id="springManager" class="com.tgb.web.controller.annotation.SpringManager"></bean>
</beans>


2.springAnnotation-servlet.xml


<!-- 注解扫描包 -->
<context:component-scan base-package="com.tgb.web.controller.annotation" />
<!-- 开启注解 -->
<mvc:annotation-driven/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
<property name="maxUploadSize" value="10485760000" />
<property name="maxInMemorySize" value="40960" />
</bean>

3.Web.xml:

<pre name="code" class="html"><!-- 配置Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/springAnnotation-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- 配置SpringMVC --> 
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- <init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/springAnnotation-servlet.xml</param-value>
</init-param> -->
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

 <!-- 设置字符集 --> 
<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>



第三步:实现



1.创建ISpring接口:

package com.tgb.web.controller.annotation;

public interface ISpring {

public String get();
}


2.ISpring接口的实现:SpringManager


package com.tgb.web.controller.annotation;

public class SpringManager implements ISpring {

@Override
public String get() {
System.out.println("------I am springManager----");

return "I am getMethod";
}

}

3.创建SpringController


package com.tgb.web.controller.annotation;

import javax.annotation.Resource;

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

@Controller
public class SpringController {

@Resource(name="springManager")
private ISpring springManager;

@RequestMapping("/spring/get")
public String get(){
System.out.println(springManager.get());
return "/success";
}
}


@controller标记,表示定义一个控制器类,当控制器类接收到一个请求时,会在自己内部寻找一个合适的处理方法类处理请求。

@RequestMapping注解,表示将方法映射到一些请求上,以便让该方法处理那些请求。 

总结:

在学习框架的路上,总觉得应该先要丰富自己的理论知识,在理论的基础上多多实践,明白其中的原理之后才能有自己的思想。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: