SpringBoot 编写自定义起步依赖和自定义错误页面

SpringBoot 编写自定义起步依赖和自定义错误页面_第1张图片
SpringBoot 编写自定义起步依赖和自定义错误页面_第2张图片
SpringBoot 编写自定义起步依赖和自定义错误页面_第3张图片
SpringBoot 编写自定义起步依赖和自定义错误页面_第4张图片

SpringBoot 编写自定义起步依赖和自定义错误页面_第5张图片

自定义boot-starter
* 以httpclient为例
 * 有三种方式都可以让HttpClientAutoConfiguration这个自动配置生效

1 在pom.xml中添加httpclient依赖
                
org.apache.httpcomponents
httpclient


2 创建HttpClientProperties 属性类用于接取application.properties文件中设置的参数

@ConfigurationProperties(prefix="spring.httpclient")
public class HttpClientProperties {

private int connectTimeOut = 1000;
private int socketTimeOut = 10000;
private int maxConnPerRoute = 10;// 每个请求的最大连接数
private int maxConnTotal = 50; //总连接数
private String agent = "agent";
        get/set 。。。

}

3 定义HttpClient自动加载类
@Configuration
@ConditionalOnClass({HttpClient.class}) //当需要用到该类时加载
@EnableConfigurationProperties({HttpClientProperties.class})
public class HttpClientConfiguration {
@SuppressWarnings("unused")
private HttpClientProperties properties;

public HttpClientConfiguration(HttpClientProperties httpClientProperties) {
this.properties = httpClientProperties;
}

@Bean
@ConditionalOnMissingBean(HttpClient.class) //没有该类时自动加载
public HttpClient httpClient(){
   //构建requestConfig
RequestConfig requestConfig = RequestConfig.custom()
        .setConnectTimeout(properties.getConnectTimeOut())//设置连接超时时间,默认1秒
.setSocketTimeout(properties.getSocketTimeOut()).build();//设置读超时时间,默认10秒
HttpClient client = HttpClientBuilder.create()
        .setDefaultRequestConfig(requestConfig) //设置requestConfig
        .setUserAgent(properties.getAgent())//设置User-Agent
 .setMaxConnPerRoute(properties.getMaxConnPerRoute())//设置一个远端IP最大的连接数
 .setMaxConnTotal(properties.getMaxConnTotal())//设置总的连接数
//  .setConnectionReuseStrategy(new NoConnectionReuseStrategy())//不重用连接,默认是重用,建议保持默认开启连接池,节省建立连接开销
 .build();
return client;
}

}
 * 第一种方式:通过将自动配置所在package成为注解了@SpringBootApplication启动类的子package
SpringBoot 编写自定义起步依赖和自定义错误页面_第6张图片
 * 第二种方式:通过定义META-INF/spring.factories文件,里面添加EnableAutoConfiguration与自动配置的映射关系
SpringBoot 编写自定义起步依赖和自定义错误页面_第7张图片
spring.factories中的配置:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.HttpClientConfiguration
SpringBoot 编写自定义起步依赖和自定义错误页面_第8张图片
 * 第三种方式:通过在启动类中添加注解EnableHttpClient,EnableHttpClient要
@Import(HttpClientAutoConfiguration.class),将该注解加载Application主类上
SpringBoot 编写自定义起步依赖和自定义错误页面_第9张图片

SpringBoot 编写自定义起步依赖和自定义错误页面_第10张图片

自定义错误页面

1 在templates下创建创建error目录,创建404和500页面,如果出现响应的code会自动跳转到该页面
SpringBoot 编写自定义起步依赖和自定义错误页面_第11张图片
SpringBoot 编写自定义起步依赖和自定义错误页面_第12张图片
2 输出错误信息以及请求路径
SpringBoot 编写自定义起步依赖和自定义错误页面_第13张图片

你可能感兴趣的:(springboot)