Consider the following configuration class:
(if it matters, this class is loaded in Spring MVC and Spring Boot applications via an @Import(MyConfiguration.class) annotation.)
This causes a WARN message to be printed as follows:
Cannot enhance @Configuration bean definition 'myPostProcessor' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
As you can see, the method is declared as static, yet I still receive the WARN message. When I remove the static modifier, I still receive the same WARN message. Something is amiss.
This is a problem for us because we use this code in a Spring library as well as a Spring Boot starter/plugin that we distribute to customers - when they see the WARN message, they think something is wrong, even though everything is working as expected.