码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC配置

时间:2019-12-27 00:16:56      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:pattern   继承   pack   nconf   声明   ali   初始   rtu   mamicode   

基于XML和注解的配置

  1. 引入Spring、SpringMVC相关依赖(通过Maven或Gradle完成)
  2. 在web.xml配置监听器和ServletContext上下文参数(即Spring IoC容器初始化文件),当ServletContext容器建立时初始化Spring IoC容器(即初始化根上下文)
  3. 配置DispatcherServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <!-- 1. 配置监听器 -->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    
    <!-- 配置DispatcherServlet,默认配置在WEB-INF目录下 -->
    <servlet>
        <servlet-name>dispatcherConfig</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        </servlet>

    <servlet-mapping>
        <servlet-name>dispatcherConfig</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

在配置DispatcherServlet时,容器默认读取WEB-INF目录下的-servlet.xml文件。

<servlet-name>-servlet.xml一般需要配置3点:

  • 启动注解
  • 配置组件扫描
  • 声明视图解析器
<?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:p="http://www.springframework.org/schema/p"
       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">
    <!-- 启用注解 -->
    <context:annotation-config />
    
    <!-- 配置组件扫描 -->
    <context:component-scan base-package="com.weixia.web"></context:component-scan>
    
    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"         p:prefix="/WEB-INF/views/" p:suffix=".jsp" />
</beans>

基于纯注解配置

1.继承AbstractAnnotationConfigDispatcherServletInitializer类

在 Servlet 3.0 环境中,容器会在类路径中查找实现 javax.servlet.ServletContainerInitializer 接口的类,如果能发现的话,就会用它来配置 Servlet 容器。

Spring 提供了这个接口的实现,名为 SpringServletContainerInitializer ,这个类反过来又会查找实现 了WebApplicationInitializer 的类并将配置的任务交给它们来完成。 Spring 3.2 引入了一个 WebApplicationInitializer 的基础实现类AbstractAnnotationConfigDispatcherServletInitializer

// 示例代码出自《Spring 4实战》
package spittr.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected String[] getServletMappings() {
        return new String[] {"/"};
    }

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] {RootConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] {WebConfig.class};
    }
}

getServletMappings方法描述前端DispatcherServlet的请求路径

getRootConfigClasses方法用于配置Spring IoC容器

getServletConfigClasses方法用于初始化DispatcherServlet上下文

WebConfig是基于java类的配置文件

附:基于IDEA的SpringMVC + Maven项目结构配置

  1. 搭建maven工程

技术图片

  1. 添加web框架

技术图片

3、将应用打包,等待部署到服务器上

技术图片

4、将应用部署到服务器上(以Tomcat为例)

技术图片

SpringMVC配置

标签:pattern   继承   pack   nconf   声明   ali   初始   rtu   mamicode   

原文地址:https://www.cnblogs.com/weixia-blog/p/12105183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!