SpringBoot War expleded 以及 springApplicationBuilder

SpringBoot war exploded 发布到tomcat 时使用SpringApplicationBuilder

SpringApplicationBuilder作用,以及设置跨域请求过滤器

springboot项目,若打包成war包,使用外置的tomcat启动

1、需要继承 org.springframework.boot.context.web.SpringBootServletInitializer类

2、然后重写configure(SpringApplicationBuilder application)方法

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

import org.springframework.cache.annotation.EnableCaching;

import org.springframework.context.annotation.Bean;

import org.springframework.core.annotation.Order;

import org.springframework.scheduling.annotation.EnableAsync;

import org.springframework.web.cors.CorsConfiguration;

import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

import org.springframework.web.filter.CorsFilter;

import com.upincar.dms.filter.CharacterEncodingFilter;

/**

  • @Description:启动类

*/

@SpringBootApplication

@EnableAsync

@MapperScan(basePackages = “com.upincar.dms.user.dao”, sqlSessionFactoryRef = “sqlSessionFactory”)

public class DmsApplication extends SpringBootServletInitializer {

public static void main(String[] args) {

try{

SpringApplication.run(DmsApplication.class, args);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

  • 如此配置打包后可以war包才可在tomcat下使用

  • @param application

  • @return

*/

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

return application.sources(DmsApplication.class);

}

/**

  • 设置全局UTF-8编码过滤器

  • @return

*/

@Bean

@Order(Integer.MAX_VALUE)//设置执行先后顺序

public FilterRegistrationBean characterFilterRegistration() {

FilterRegistrationBean registration = new FilterRegistrationBean();

registration.setFilter(new CharacterEncodingFilter());

registration.addUrlPatterns("/*");

registration.addInitParameter(“paramName”, “paramValue”);

registration.setName(“characterEncodingFilter”);

return registration;

}

/**

  • 跨域过滤器

  • @return

*/

@Bean

public CorsFilter corsFilter() {

UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

source.registerCorsConfiguration("/**", buildConfig());

return new CorsFilter(source);

}

private CorsConfiguration buildConfig() {

CorsConfiguration corsConfiguration = new CorsConfiguration();

corsConfiguration.addAllowedOrigin("*");

corsConfiguration.addAllowedHeader("*");

corsConfiguration.addAllowedMethod("*");

corsConfiguration.setMaxAge(3600L);

corsConfiguration.addExposedHeader(“x-requested-with”);

return corsConfiguration;

}

}

链接: 转载,原文地址连接 https://blog.csdn.net/qq_42714869/article/details/93052175.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值