SpringbootブロッキングWebMvcConfigurerAdapterの古い処理について
4124 ワード
WebMvcConfigurerAdapterの使用時にヒントが古くなったので、ネット上で
WebMvcConfigurationSupport, springboot :@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)。 implements WebMvcConfigurer。
の使用を推奨しています. :
:
package com.abc.interceptor;
/*
* author : ajing
* date : 2018/4/4 15:53
* */
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class WebIntercrptor extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
long startTime=System.currentTimeMillis();
request.setAttribute("startTime",startTime);
System.out.println(" ");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
long startTime = (long) request.getAttribute("startTime");
long endTime=System.currentTimeMillis();
System.out.println(" , :"+(endTime-startTime));
request.setAttribute("handleTime",endTime-startTime);
}
}
ブロッキング構成:package com.abc.interceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
/*
* author : ajing
* date : 2018/4/9 14:55
* */
@Configuration
public class webInterceptorAdapter implements WebMvcConfigurer {
@Bean
public WebIntercrptor webIntercrptor(){
return new WebIntercrptor();
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/error").setViewName("404.html");
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(webIntercrptor()).addPathPatterns("/**");
}
// bean
@Bean
public InternalResourceViewResolver viewResolver(){
InternalResourceViewResolver resourceViewResolver=new InternalResourceViewResolver();
resourceViewResolver.setPrefix("/templates/");
resourceViewResolver.setSuffix(".html");
resourceViewResolver.setViewClass(JstlView.class);
return resourceViewResolver;
}
//
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/view").addResourceLocations("/");
}
}
controller:@RequestMapping(value = "getPlanNoteVersion", method = {RequestMethod.GET,RequestMethod.POST}, produces = "application/json;charset=utf-8")
public PlanNote getPlanNoteVersion(){
PlanNote planNote=new PlanNote();
// planNote.setVersion(area);
planNote.setOwner(propertiesBean.getOwner());
logger.info("【 】");
return planNote;
}
起動クラス:package com.abc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // Spring Boot
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}