如何使用注解配置SpringMVC的高级配置

 时间:2026-02-18 09:23:03

1、SpringMVC使用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:p="http://www.springframework.org/schema/p"

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

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

        xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd

                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-4.3.xsd">

          

          

          <mvc:default-servlet-handler/>

          

          <mvc:annotation-driven />

</beans>

如何使用注解配置SpringMVC的高级配置

2、如果使用注解的方式实现上述高级功能,只需要使用@EnableWebMvc,开启SpringMVC定制功能。

package com.gwolf;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.FilterType;

import org.springframework.context.annotation.ComponentScan.Filter;

import org.springframework.stereotype.Controller;

import org.springframework.web.servlet.config.annotation.EnableWebMvc;

@ComponentScan(value="com.gwolf",

includeFilters= {@Filter(type=FilterType.ANNOTATION,

classes= {Controller.class})},useDefaultFilters=false)

@EnableWebMvc

public class AppConfig {

}

如何使用注解配置SpringMVC的高级配置

3、如果需要配置视图解析器,视图映射,静态资源映射,拦截器就需要实现一个类:WebMvcConfigurerAdapter。

如何使用注解配置SpringMVC的高级配置

4、配置视图解析器需要覆写方法:

@Override

public void configureViewResolvers(ViewResolverRegistry registry) {

      registry.jsp();

}

如何使用注解配置SpringMVC的高级配置

5、配置静态资源访问要覆写方法:

@Override

public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {

      configurer.enable();

}

如何使用注解配置SpringMVC的高级配置

6、配置SpringMVC拦截器:

package com.gwolf;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.ComponentScan.Filter;

import org.springframework.context.annotation.FilterType;

import org.springframework.stereotype.Controller;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;

import org.springframework.web.servlet.config.annotation.EnableWebMvc;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@ComponentScan(value="com.gwolf",

includeFilters= {@Filter(type=FilterType.ANNOTATION,

classes= {Controller.class})},useDefaultFilters=false)

@EnableWebMvc

public class AppConfig extends WebMvcConfigurerAdapter{

        @Override

        public void configureViewResolvers(ViewResolverRegistry registry) {

                registry.jsp();

        }

        @Override

        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {

                configurer.enable();

        }

        @Override

        public void addInterceptors(InterceptorRegistry registry) {

                registry.addInterceptor(new HandlerInterceptor() {

                        

                        @Override

                        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)

                                        throws Exception {

                                return true;

                        }

                        

                        @Override

                        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,

                                        ModelAndView modelAndView) throws Exception {

                                

                        }

                        

                        @Override

                        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)

                                        throws Exception {

                                

                        }

                }).addPathPatterns("/**");

        }

        

        

        

        

        

        

}

如何使用注解配置SpringMVC的高级配置

  • Linux 文件权限查看及修改
  • Navicat连接Oracle时报错ORA-28547怎么办?
  • C#应用程序中如何使用Log4net记录Log
  • IntelliJ IDEA怎么配置svn,集成svn方法
  • TotoiseSVN的基本使用方法
  • 热门搜索
    如何设置开机密码 如何打好麻将 如何搭讪 bat是什么意思 推特是什么 得意生活 平潭岛怎么去 如何缓解工作压力 雍正是怎么当上皇帝的 如何建qq群