package shop.alien.gateway;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;

/**
 * 网关
 *
 * @author ssk
 * @version 1.0
 * @date 2025/1/21 16:58
 */
@ComponentScan({"shop.alien.gateway.*"})
@MapperScan(basePackages = {"shop.alien.gateway.mapper", "shop.alien.mapper"})
@EnableFeignClients(basePackages = "shop.alien.gateway.feign")
@SpringBootApplication
public class AlienGatewayApplication {

    public static void main(String[] args) {
        /*因为Spring Boot本身已经集成了日志框架Logback，而在Alibaba Nacos中又集成了一套Logback框架
        而Alibaba Nacos中的Logback加载要优先于项目自身的Logback框架，在一个项目中其context_name只能定义一次，
        所以，在项目启动时，Alibaba Nacos的Logback先加载完成后，再加载项目本身的Logback时就出现了冲突，报错误日志 “ Failed to rename context [logback] as [nacos] java.lang.IllegalStateException: Context has been already given a name ” ，但是不影响使用，
        解决这个，只要禁用掉其中一个Logback就可以了，一般禁用外部框架夹带的Logback即可*/
        System.setProperty("nacos.logging.default.config.enabled", "false");
        SpringApplication.run(AlienGatewayApplication.class, args);
    }

}