Spring与SpringMVC整合

文章目录

  • Spring与SpringMVC整合
      • Springmvc中的配置
      • Spring中的配置
      • web.xml中配置

Spring与SpringMVC整合

Spring容器是Springmvc容器的父容器。因此在Springmvc容器中是可以访问到Spring容器中的bean,而在Spring中是无法访问到Springmvc所定义的bean。在Web开发中,Controller层一般都用Springmvc来扫描,其余全在Spring容器中。

最佳实践:

​ Controller在Springmvc中扫描,视图解析器等在Springmvc中配置。

​ Spring中扫描Service和Dao层以及其他组件,事务定义,数据源定义都在Spring中配置。

Springmvc中的配置

Spring与SpringMVC整合_第1张图片

Spring中的配置

Spring与SpringMVC整合_第2张图片

web.xml中配置


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>testdisplay-name>
	
	<context-param>
		<param-name>contextConfigLocationparam-name>
		<param-value>classpath:applicationContext.xmlparam-value>
	context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
	listener>
	<servlet>
		<servlet-name>springmvcservlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
		<init-param>
			<param-name>contextConfigLocationparam-name>
			<param-value>classpath:spring-servlet.xmlparam-value>
		init-param>
	servlet>
	<servlet-mapping>
		<servlet-name>springmvcservlet-name>
		<url-pattern>/url-pattern>
	servlet-mapping>
	<filter>
		<filter-name>encodingfilter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
		<init-param>
			<param-name>encodingparam-name>
			<param-value>UTF-8param-value>
		init-param>
		<init-param>
			<param-name>forceRequestEncodingparam-name>
			<param-value>trueparam-value>
		init-param>
		<init-param>
			<param-name>forceResponseEncodingparam-name>
			<param-value>trueparam-value>
		init-param>
	filter>
	<filter-mapping>
		<filter-name>encodingfilter-name>
		<url-pattern>/*url-pattern>
	filter-mapping>
web-app>

以上

@Fzxey

你可能感兴趣的:(SpringMVC)