@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, MongoAutoConfiguration.class, SecurityAutoConfiguration.class})
@ComponentScan(value = {"com.*.*.service", "com.*.*.business"}, useDefaultFilters = false, includeFilters = {
@ComponentScan.Filter(value = {Autowired.class, Resource.class, Service.class, Scope.class})
})
@ComponentScan(value = {"com.*.*.dao"}, useDefaultFilters = false, includeFilters = {
@ComponentScan.Filter(value = {Autowired.class, Resource.class, Repository.class})
})
@ImportResource({"classpath*:dasc/applicationContext-dasc-support.xml", "classpath*:applicationContext-*.xml"})
@AutoConfigureOrder
public class ServiceAppStarter extends SpringBootServletInitializer {
public static void main(String[] args) {
loadApplicationProperties(new SpringApplicationBuilder(ServiceAppStarter.class)).build().run(args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return loadApplicationProperties(builder.sources(ServiceAppStarter.class));
}
private static SpringApplicationBuilder loadApplicationProperties(SpringApplicationBuilder builder) {
try {
return builder.properties(PropertiesLoaderUtils
.loadProperties(new ClassPathResource("application.properties")));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}