1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package com.yihu.jw.config.mvc;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.web.client.RestTemplateBuilder;
- import org.springframework.cloud.client.loadbalancer.LoadBalanced;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.web.client.RestTemplate;
- import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
- import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
- /**
- * Created by chenweida on 2017/6/15.
- */
- @Configuration
- public class MvcConfig extends WebMvcConfigurationSupport {
- /**
- * 全局异常定义
- * @return
- */
- @Bean
- public GlobalHandlerExceptionResolver globalHandlerExceptionResolver() {
- return new GlobalHandlerExceptionResolver();
- }
- protected void addResourceHandlers(ResourceHandlerRegistry registry) {
- registry.addResourceHandler("swagger-ui.html")
- .addResourceLocations("classpath:/META-INF/resources/");
- registry.addResourceHandler("/webjars/**")
- .addResourceLocations("classpath:/META-INF/resources/webjars/");
- }
- @Bean
- @LoadBalanced
- // 添加负载均衡支持,很简单,只需要在RestTemplate上添加@LoadBalanced注解,那么RestTemplate即具有负载均衡的功能,如果不加@LoadBalanced注解的话,会报java.net.UnknownHostException:springboot-h2异常,此时无法通过注册到Eureka Server上的服务名来调用服务,因为RestTemplate是无法从服务名映射到ip:port的,映射的功能是由LoadBalancerClient来实现的。
- public RestTemplate restTemplate() {
- return new RestTemplate();
- }
- }
|