61 lines
2.2 KiB
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);
|
|
}
|
|
} |