package com.fzzy; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import com.bstek.dorado.web.loader.DoradoLoader; import com.bstek.dorado.web.servlet.DoradoServlet; import com.fzzy.dorado.DoradoApplicationContextInilializer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.servlet.ServletContext; import java.util.LinkedHashSet; import java.util.Set; @EnableTransactionManagement @EnableScheduling @SpringBootApplication public class Application { @Bean public ServletRegistrationBean doradoServlet() { ServletRegistrationBean servlet = new ServletRegistrationBean(new DoradoServlet()); servlet.setLoadOnStartup(1); servlet.addUrlMappings("*.d"); servlet.addUrlMappings("*.c"); servlet.addUrlMappings("*.dpkg"); servlet.addUrlMappings("/dorado/*"); return servlet; } /** * 调整FASTJSON的注解支持 * @return */ @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); fastConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter converter = fastConverter; return new HttpMessageConverters(converter); } public static void main(String[] args) throws Exception { System.out.println("----------------Application-----------------------"); System.setProperty("doradoHome", "classpath:dorado-home/"); SpringApplication app = new SpringApplication(Application.class); app.addInitializers(new DoradoApplicationContextInilializer()); DoradoLoader doradoLoader = DoradoLoader.getInstance(); doradoLoader.preload(true); Set sources = new LinkedHashSet(); sources.addAll(doradoLoader.getContextLocations(false)); app.setSources(sources); app.run(args); System.out.println("* "); System.out.println("* ========================"); System.out.println("* "); System.out.println("* 项目启动成功…………"); System.out.println("* "); System.out.println("* ========================"); System.out.println("* "); } }