package com.moral; import com.moral.util.SpringContextUtils; 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.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; import java.util.Arrays; @MapperScan("com.moral.api.mapper") @SpringBootApplication @EnableTransactionManagement public class ScreenApiBootstrap { public static void main(String[] args) { /*SpringApplicationBuilder builder = new SpringApplicationBuilder(ScreenApiBootstrap.class); builder.headless(false) // .web(WebApplicationType.NONE) // .bannerMode(Banner.Mode.OFF) .run(args);*/ ApplicationContext applicationContext = SpringApplication.run(ScreenApiBootstrap.class, args); SpringContextUtils.setApplicationContext(applicationContext); } @Bean public FilterRegistrationBean corsFilter() { FilterRegistrationBean corsFilterFilterRegistrationBean = new FilterRegistrationBean<>(); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.setAllowedMethods(Arrays.asList("POST", "PUT", "GET", "OPTIONS", "DELETE")); corsConfiguration.setAllowCredentials(true); corsConfiguration.setMaxAge(3600L); source.registerCorsConfiguration("/**", corsConfiguration); corsFilterFilterRegistrationBean.setFilter(new CorsFilter(source)); corsFilterFilterRegistrationBean.setOrder(-1); return corsFilterFilterRegistrationBean; } }