package com.juick.www.configuration; import com.juick.service.TagService; import com.juick.service.UserService; import com.juick.www.HelpService; import com.juick.www.controllers.PageTemplates; import com.juick.www.WebApp; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.guava.GuavaCacheManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; import javax.annotation.Resource; import javax.inject.Inject; /** * Created by aalexeev on 11/22/16. */ @Configuration @PropertySource("classpath:juick.conf") @EnableCaching public class WebAppConfiguration { @Resource private Environment env; @Inject private UserService userService; @Inject private TagService tagService; @Bean public WebApp webApp() { return new WebApp(env, templates(), userService, tagService); } @Bean public PageTemplates templates() { return new PageTemplates(); } @Bean public GuavaCacheManager cacheManager() { return new GuavaCacheManager("help"); } @Bean public HelpService helpService() { return new HelpService("help"); } }