@AutoConfiguration 과 @Order 는 빈 생성 순서에 영향을 미치지 않습니다.@DependsOn 은 명시적으로 빈 생성 순서에 영향을 미칩니다.AbstractAutowireCapableBeanFactory#createBean + 디버거BeansEndpoint 활용 (/actuator/beans)진행하는 프로젝트에서 Prometheus Metric 이 누락되는 이슈가 확인되었습니다.
확인 결과, MeterRegistryPostProcessor 가 MeterRegistry 보다 늦게 등록되어 MeterRegistry 의 후처리를 수행하지 않은것이 원인이었습니다.
MeterRegistryPostProcessor (MetricsAutoConfiguration) 의 순서는 MeterRegistry (PrometheusMetricsExportAutoConfiguration) 보다 뒤였습니다. (after)
왜 순서가 꼬이게 되었을까요?
@AutoConfiguration 과 @Order 는 빈 생성 순서에 영향을 미치지 않습니다.@AutoConfiguration 은 빈이 정의되는 순서에만 영향을 미칩니다.@Order 는 주입 시점에만 영향을 미칩니다.MeterRegistry 를 생성하게 된것으로 보입니다.MeterRegistry 를 생성하게 되었을까요?
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean 을 클릭합니다.
prometheusMeterRegistry 빈이 생성중인것으로 보입니다.AbstractAutowireCapableBeanFactory#createBean 을 타고 내려가면서 원인이 되는 빈을 확인합니다./actuator/beans 확인) - 비추천Actuator 의 BeansEndpoint(/actuator/beans) 활용해서도 빈 사이의 디펜던시 확인은 가능합니다.

그러나 너무 많은 빈 사이의 디펜던시가 노출되어 비추천합니다.
org.springframework.beans.factory.ObjectProviderorg.springframework.context.annotation.LazyObjectProvider 를 활용하여 해결하였습니다.