小编Bar*_*log的帖子

Spring,JavaConfig,BeanDefinition和空的getBeanClassName

如果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)

java spring spring-boot

5
推荐指数
1
解决办法
304
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1