去掉注解,手动配置如下
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/");