package com.tax.file.startup;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.web.client.RestTemplate;

/**
 * 
 * ClassName: StartupApplication <br/>
 * Function: springboot启动类，自动加载启动配置,注册服务. <br/>
 * date: 2017年11月7日 下午2:52:59 <br/>
 * @SpringBootApplication 服务启动注解<br/>
 * @EnableEurekaClient EnableEurekaClient注解将本系统所有controller的服务注册到Eureka注册中心<br/>
 * 注册地址通过启动配置项进行设置 eureka.client.serviceUrl.defaultZone<br/>
 * 服务注册名通过启动配置项进行设置 spring.application.name=service-acceptance-demo
 * @ComponentScan 注解会自动扫描子工程下的Bean,包括引入的jar包
 * 
 * @author wuyuegang
 * @version
 * @since JDK 1.8
 */
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.tax.file"}) // 开启Feign支持
@ComponentScan(basePackages = {"com.tax.file","com.yxcheng.token"})
public class FileFaceStartupApplication
{
    
	// 启动的时候要注意，由于我们在controller中注入了RestTemplate，所以启动的时候需要实例化该类的一个实例 
    @Autowired 
    private RestTemplateBuilder builder; 
   
    // 使用RestTemplateBuilder来实例化RestTemplate对象，spring默认已经注入了RestTemplateBuilder实例 
    @Bean 
    public RestTemplate restTemplate() { 
        return builder.build(); 
    }  
	
    public static void main(String[] args)
    {
        SpringApplication.run(FileFaceStartupApplication.class, args);
    }
}
