I have an application which use a custom zipkinReporter but it fails because ZipkinAutoConfiguration class need a bean of type ZipkinProperties that is not loaded because config classes that could load this configurationProperties don't match theirs conditions, and then I have an exception with the following message:

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'zipkinConnectionDetails' defined in class path resource [org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfiguration.class]: Unsatisfied dependency expressed through method 'zipkinConnectionDetails' parameter 0: No qualifying bean of type 'org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinProperties' available: expected at least 1 bean which qualifies as autowire candidate.

For this reason, I think @EnableConfigurationProperties(ZipkinProperties.class) should be defined in class ZipkinAutoConfiguration instead of another configuration classes imported by ZipkinAutoConfiguration.

This behavior is new in SB 3.1. With SB 3.0.X I don't have this problem.