如果Spring bean配置了JavaConfig,那么BeanDefinition无法解析BeanClassName,并返回null.与xml或annotation配置相同.有什么问题?怎么修?
Spring Boot出现问题的示例代码,只添加导入:
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());
}
}
Run Code Online (Sandbox Code Playgroud)