Java tutorial
/* Copyright (c) 2016 Nouveautech Limited. All Rights Reserved. * * This software is the confidential and proprietary information of * Nouveautech Limited ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Nouveautech Limited. * * NOUVEAUTECH LIMITED MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE * SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR * A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. NOUVEAUTECH LIMITED SHALL * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, * MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. */ package org.sai.tools.fe; import com.google.common.base.Predicates; import com.mongodb.Mongo; import com.mongodb.MongoClient; import org.apache.commons.io.IOUtils; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoDataAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.support.ConversionServiceFactory; import org.springframework.data.mongodb.MongoDbFactory; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.SimpleMongoDbFactory; import org.springframework.scheduling.annotation.EnableAsync; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.net.UnknownHostException; /** * Application main. * * @author saikris */ @SpringBootApplication @Configuration @EnableConfigurationProperties @EnableAsync @ComponentScan("org.sai.tools.fe") @EnableSwagger2 @EnableAutoConfiguration(exclude = { MongoAutoConfiguration.class, MongoDataAutoConfiguration.class, MongoRepositoriesAutoConfiguration.class }) public class FeRestApp { /** * Main method. * * @param args * @throws Exception */ public static void main(final String[] args) throws Exception { SpringApplicationBuilder application = new SpringApplicationBuilder(); application // .addCommandLineProperties(true) // .sources(FeRestApp.class) // .showBanner(true).main(FeRestApp.class) // .registerShutdownHook(true).run(args); } @Bean public MongoDbFactory mongoDbFactory() throws UnknownHostException { return new SimpleMongoDbFactory(mongo(), "fe"); } @Bean public MongoTemplate mongoTemplate() throws UnknownHostException { MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory()); return mongoTemplate; } @Bean public Mongo mongo() throws UnknownHostException { return new MongoClient(); } }