Если Spring bean, сконфигурированный с JavaConfig, BeanDefinition не может разрешить BeanClassName и возвращает значение null. То же самое с xml или конфигурацией аннотаций хорошо работает. В чем проблема? Как исправить?Spring, JavaConfig, BeanDefinition и пусто getBeanClassName
Пример код с неприятностями для Spring ботинка, только добавить импорта:
interface Foo {}
class FooImpl implements Foo {}
@ComponentScan
@EnableAutoConfiguration
@Configuration
public class App implements CommandLineRunner {
public static void main(String... args) {
SpringApplication.run(App.class, args);
}
@Bean(name = "foo")
Foo getFoo() { return new FooImpl(); }
@Autowired
private ConfigurableListableBeanFactory factory;
@Override
public void run(String... args) {
BeanDefinition definition = factory.getBeanDefinition("foo");
System.out.println(definition.getBeanClassName());
}
}