我是靠谱客的博主 陶醉小天鹅,最近开发中收集的这篇文章主要介绍解决加了@EnableHystrixDashboard后项目中freemarker配置失效导致404问题,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
去掉注解,手动配置如下
package com.mark.demo.security.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.actuator.HasFeatures;
import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardConfiguration;
import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardConfiguration.ProxyStreamServlet;
import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardController;
import org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/*
*hxp(hxpwangyi@126.com)
*2017年10月20日
*
*/
@Configuration
@EnableConfigurationProperties(HystrixDashboardProperties.class)
public class HystrixDashboardConfig {
@Autowired
private HystrixDashboardProperties dashboardProperties;
@Bean
public HasFeatures hystrixDashboardFeature() {
return HasFeatures.namedFeature("Hystrix Dashboard", HystrixDashboardConfiguration.class);
}
@Bean
public ServletRegistrationBean proxyStreamServlet() {
ProxyStreamServlet proxyStreamServlet = new ProxyStreamServlet();
proxyStreamServlet.setEnableIgnoreConnectionCloseHeader(dashboardProperties
.isEnableIgnoreConnectionCloseHeader());
return new ServletRegistrationBean(proxyStreamServlet, "/proxy.stream");
}
@Bean
public HystrixDashboardController hsytrixDashboardController() {
return new HystrixDashboardController();
}
}
然后加上freemarker配置
package com.mark.demo.security.config;
import java.util.Properties;
import org.springframework.boot.autoconfigure.freemarker.FreeMarkerProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
/*
*hxp(hxpwangyi@126.com)
*2017年10月20日
*
*/
@Configuration
@EnableConfigurationProperties(FreeMarkerProperties.class)
public class FreemarkerConfig {
private final FreeMarkerProperties properties;
public FreemarkerConfig(ApplicationContext applicationContext,
FreeMarkerProperties properties) {
this.properties = properties;
}
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPaths("classpath:/templates/","/WEB-INF/ftl/");
configurer.setDefaultEncoding("UTF-8");
configurer.setPreferFileSystemAccess(properties.isPreferFileSystemAccess());
Properties settings = new Properties();
settings.putAll(this.properties.getSettings());
configurer.setFreemarkerSettings(settings);
return configurer;
}
}
关键是注意这里的,多了一个值
configurer.setTemplateLoaderPaths("classpath:/templates/","/WEB-INF/ftl/");
最后
以上就是陶醉小天鹅为你收集整理的解决加了@EnableHystrixDashboard后项目中freemarker配置失效导致404问题的全部内容,希望文章能够帮你解决解决加了@EnableHystrixDashboard后项目中freemarker配置失效导致404问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复