diff --git a/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttp3AutoConfiguration.java b/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttp3AutoConfiguration.java index 63509f7..5c53c91 100644 --- a/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttp3AutoConfiguration.java +++ b/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttp3AutoConfiguration.java @@ -3,12 +3,12 @@ import okhttp3.*; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import java.io.File; import java.io.IOException; @@ -20,7 +20,7 @@ * @author Lars Grefer */ @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @ConditionalOnClass(OkHttpClient.class) @EnableConfigurationProperties(OkHttpProperties.class) public class OkHttp3AutoConfiguration { diff --git a/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttpRestTemplateAutoConfiguration.java b/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttpRestTemplateAutoConfiguration.java index 2b3c6ff..86e9544 100644 --- a/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttpRestTemplateAutoConfiguration.java +++ b/autoconfigure/src/main/java/io/freefair/spring/okhttp/OkHttpRestTemplateAutoConfiguration.java @@ -2,8 +2,7 @@ import okhttp3.OkHttpClient; import org.springframework.beans.factory.ObjectProvider; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; @@ -16,7 +15,6 @@ import org.springframework.boot.web.client.RestTemplateRequestCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; import org.springframework.web.client.RestTemplate; @@ -30,10 +28,8 @@ * @author Lars Grefer * @see RestTemplateAutoConfiguration */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration(before = RestTemplateAutoConfiguration.class, after = HttpMessageConvertersAutoConfiguration.class) @ConditionalOnClass({RestTemplateCustomizer.class, RestTemplate.class}) -@AutoConfigureBefore(RestTemplateAutoConfiguration.class) -@AutoConfigureAfter(HttpMessageConvertersAutoConfiguration.class) @Conditional(OkHttpRestTemplateAutoConfiguration.NotReactiveWebApplicationCondition.class) public class OkHttpRestTemplateAutoConfiguration { diff --git a/autoconfigure/src/main/java/io/freefair/spring/okhttp/logging/OkHttp3LoggingInterceptorAutoConfiguration.java b/autoconfigure/src/main/java/io/freefair/spring/okhttp/logging/OkHttp3LoggingInterceptorAutoConfiguration.java index 292bcb8..f87ff6d 100644 --- a/autoconfigure/src/main/java/io/freefair/spring/okhttp/logging/OkHttp3LoggingInterceptorAutoConfiguration.java +++ b/autoconfigure/src/main/java/io/freefair/spring/okhttp/logging/OkHttp3LoggingInterceptorAutoConfiguration.java @@ -4,20 +4,18 @@ import io.freefair.spring.okhttp.OkHttp3AutoConfiguration; import okhttp3.logging.HttpLoggingInterceptor; import org.springframework.beans.factory.ObjectProvider; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** * @author Lars Grefer */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration(before = OkHttp3AutoConfiguration.class) @ConditionalOnClass(HttpLoggingInterceptor.class) -@AutoConfigureBefore(OkHttp3AutoConfiguration.class) @EnableConfigurationProperties(OkHttp3LoggingInterceptorProperties.class) public class OkHttp3LoggingInterceptorAutoConfiguration { diff --git a/autoconfigure/src/main/java/io/freefair/spring/okhttp/metrics/OkHttpMetricsAutoConfiguration.java b/autoconfigure/src/main/java/io/freefair/spring/okhttp/metrics/OkHttpMetricsAutoConfiguration.java index 557f5f3..a6d5a5a 100644 --- a/autoconfigure/src/main/java/io/freefair/spring/okhttp/metrics/OkHttpMetricsAutoConfiguration.java +++ b/autoconfigure/src/main/java/io/freefair/spring/okhttp/metrics/OkHttpMetricsAutoConfiguration.java @@ -5,22 +5,20 @@ import io.micrometer.core.instrument.binder.okhttp3.OkHttpMetricsEventListener; import okhttp3.OkHttpClient; import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -@Configuration(proxyBeanMethods = false) -@AutoConfigureAfter(CompositeMeterRegistryAutoConfiguration.class) +@AutoConfiguration(after = CompositeMeterRegistryAutoConfiguration.class) @ConditionalOnProperty(value = "okhttp.metrics.enabled", matchIfMissing = true, havingValue = "true") @ConditionalOnBean(MeterRegistry.class) @ConditionalOnClass({MeterRegistry.class, OkHttpMetricsEventListener.class, OkHttpClient.class}) diff --git a/autoconfigure/src/main/resources/META-INF/spring.factories b/autoconfigure/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 619cba6..0000000 --- a/autoconfigure/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,5 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - io.freefair.spring.okhttp.OkHttp3AutoConfiguration,\ - io.freefair.spring.okhttp.OkHttpRestTemplateAutoConfiguration,\ - io.freefair.spring.okhttp.metrics.OkHttpMetricsAutoConfiguration,\ - io.freefair.spring.okhttp.logging.OkHttp3LoggingInterceptorAutoConfiguration \ No newline at end of file diff --git a/autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..e8996b3 --- /dev/null +++ b/autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,4 @@ +io.freefair.spring.okhttp.OkHttp3AutoConfiguration +io.freefair.spring.okhttp.OkHttpRestTemplateAutoConfiguration +io.freefair.spring.okhttp.metrics.OkHttpMetricsAutoConfiguration +io.freefair.spring.okhttp.logging.OkHttp3LoggingInterceptorAutoConfiguration \ No newline at end of file