package com.infynova.udi;

import com.alicp.jetcache.anno.config.EnableMethodCache;
import com.infynova.udi.constant.UdiConstant;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;


@Slf4j
@EnableAsync
@EnableScheduling
@EnableConfigurationProperties
@EnableFeignClients(basePackages = {UdiConstant.INFYNOVA_PACKAGE_NAME})
@EnableDiscoveryClient
@MapperScan(UdiConstant.MAPPER_PACKAGE_NAME)
@EnableMethodCache(basePackages = {UdiConstant.UDI_PACKAGE_NAME})
@SpringBootApplication(scanBasePackages = {"com.infynova.udi","com.infynova.common"})
public class UdiApplication {
    public static void main(String[] args) {
        SpringApplication.run(UdiApplication.class, args);
    }
}