Application.java 2.41 KB
Newer Older
yuquan.zhu committed
1 2 3 4 5 6 7 8 9
package cn.timer.api;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
10
import org.springframework.context.annotation.ComponentScan;
yuquan.zhu committed
11 12 13 14
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.client.RestTemplate;
yuquan.zhu committed
15 16 17
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
yuquan.zhu committed
18

邓实川 committed
19 20
import cn.hutool.core.net.NetUtil;

tangzhaoqian committed
21
@MapperScan({"cn.timer.api.dao"}) // 扫描的mapper
22
@ComponentScan(basePackages = {"cn.timer.api"})
yuquan.zhu committed
23 24 25
@SpringBootApplication
@EnableScheduling
@EnableTransactionManagement
邓实川 committed
26
public class Application {
yuquan.zhu committed
27 28

	public static void main(String[] args) {
邓实川 committed
29 30 31 32 33
		final Integer port = 8089;
		if (!NetUtil.isUsableLocalPort(port)) {
			System.err.printf("端口%d被占用了,无法启动%n", port);
			System.exit(1);
		}
yuquan.zhu committed
34 35 36 37 38 39 40 41 42 43
		SpringApplication.run(Application.class, args);
	}

	@Autowired
	private RestTemplateBuilder restTemplateBuilder;

	@Bean
	public RestTemplate getRestTemplate() {
		return restTemplateBuilder.build();
	}
yuquan.zhu committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
	
	private CorsConfiguration buildConfig() {  
        CorsConfiguration corsConfiguration = new CorsConfiguration();  
        corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用
        corsConfiguration.addAllowedHeader("*"); // 2允许任何头
        corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等)
        corsConfiguration.setAllowCredentials(true);
        return corsConfiguration;  
    }  
  
    @Bean  
    public CorsFilter corsFilter() {  
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();  
        source.registerCorsConfiguration("/**", buildConfig()); // 4  
        return new CorsFilter(source);  
    } 
yuquan.zhu committed
60 61

	// @Override
邓实川 committed
62 63 64
	// protected SpringApplicationBuilder configure(SpringApplicationBuilder
	// builder) {
	// return builder.sources(Application.class);
yuquan.zhu committed
65 66
	// }
}