我是靠谱客的博主 陶醉小天鹅,最近开发中收集的这篇文章主要介绍解决加了@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问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部