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

先来了解一些基本概念:

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包

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


springMVC基础及实例(三)springMVC与spring集成_第1张图片


第二步:配置文件


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注解,表示将方法映射到一些请求上,以便让该方法处理那些请求。 


总结:

在学习框架的路上,总觉得应该先要丰富自己的理论知识,在理论的基础上多多实践,明白其中的原理之后才能有自己的思想。 



你可能感兴趣的:(springMVC基础及实例(三)springMVC与spring集成)