热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springboot:@Configuration中注解的类里还有@Configuration如何理解?

接手一个项目发现里面有一个FeignAutoConfiguration,如下@Configuration内部嵌套一个@Configuration这个如何理解?

接手一个项目
发现里面有一个FeignAutoConfiguration,如下
@Configuration内部嵌套一个@Configuration
这个如何理解?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@CompileStatic

@Configuration

class FeignAutoConfiguration {



  @Configuration

  @ConditionalOnClass(OkHttpClient.class)

  @ConditionalOnMissingClass("com.netflix.loadbalancer.ILoadBalancer")

  @ConditionalOnProperty(value = "feign.okhttp.enabled")

  protected static class OkHttpFeignConfiguration {

    @Bean

    @ConditionalOnMissingBean(ConnectionPool.class)

    ConnectionPool httpClientConnectionPool(FeignHttpClientProperties httpClientProperties,                                            

    OkHttpClientConnectionPoolFactory connectionPoolFactory) {

        Integer maxTotalCOnnections= httpClientProperties.getMaxConnections()

        Long timeToLive = httpClientProperties.getTimeToLive()

        TimeUnit ttlUnit = httpClientProperties.getTimeToLiveUnit()

        return connectionPoolFactory.create(maxTotalConnections, timeToLive, ttlUnit)

    }

   

    @ConditionalOnMissingBean(okhttp3.OkHttpClient.class)

    okhttp3.OkHttpClient client(OkHttpClientFactory httpClientFactory,

                                ConnectionPool connectionPool,

                                FeignHttpClientProperties httpClientProperties) {

        Boolean followRedirects = httpClientProperties.isFollowRedirects()

        Boolean disableSslValidation = httpClientProperties.isDisableSslValidation()

        this.okHttpClient = httpClientFactory.createBuilder(disableSslValidation).

            connectTimeout(5000L, TimeUnit.MILLISECONDS).

            readTimeout(60000L, TimeUnit.MILLISECONDS).

            followRedirects(followRedirects).

            connectionPool(connectionPool).build()

        return this.okHttpClient

    }

   

    ...

    ...

  }  

}



推荐阅读
author-avatar
传导网络
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有