0
Files
KinoSearch/src/main/java/kinosearch/kinosearch3/webpp/SpringConfig.java

61 lines
2.2 KiB
Java

/*
* DmitriyMX <dimon550@gmail.com>
* 2017-04-09
*/
package kinosearch.kinosearch3.webpp;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import kinosearch.kinosearch3.base.BaseRepository;
import kinosearch.kinosearch3.base.MongoDBRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
import java.net.UnknownHostException;
@Configuration
@PropertySource({ "classpath:/application.properties", "file:application.properties" })
public class SpringConfig {
@Bean
public WebApp webapp(@Value("${webapp.host}") String host, @Value("${webapp.port}") int port) {
return new WebApp(host, port);
}
@Bean
public ViewResolver viewResolver() {
FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();
viewResolver.setContentType("text/html;charset=UTF-8");
viewResolver.setCache(true);
viewResolver.setSuffix(".ftl");
return viewResolver;
}
@Bean
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
freeMarkerConfigurer.setTemplateLoaderPath("classpath:/kinosearch/kinosearch3/webpp/");
return freeMarkerConfigurer;
}
@Bean
public BaseRepository baseRepository(MongoOperations mongoOperations) {
return new MongoDBRepository(mongoOperations);
}
@Bean
public MongoOperations mongoOperations(Mongo mongo, @Value("${mongo.db}") String databaseName) {
return new MongoTemplate(mongo, databaseName);
}
@Bean
public Mongo mongo(@Value("${mongo.host}") String host, @Value("${mongo.port}") int port) throws UnknownHostException {
return new MongoClient(host, port);
}
}