package {{packageName}};

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;
import net.ibizsys.central.cloud.core.spring.configuration.NacosServiceHubSetting;
import net.ibizsys.central.cloud.core.spring.rt.ServiceHub;
import org.springframework.context.annotation.FilterType;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@EnableDiscoveryClient(autoRegister=false)
@SpringBootApplication(exclude = { {{#unless system.enableMongo}}org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration.class,{{/unless}}com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure.class,SecurityAutoConfiguration.class})
@ComponentScan(basePackages = {"net.ibizsys.central.cloud.core.spring","net.ibizsys.central.plugin.boot.core","{{packageName}}"},excludeFilters = {
        @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {NacosServiceHubSetting.class,ServiceHub.class})
})
@EnableAsync
@EnableScheduling
@EnableTransactionManagement
public class IBizRuntimeApplication {

    public static void main(String[] args) {
        SpringApplication.run(IBizRuntimeApplication.class, args);
    }

}
