问答详情
源自:4-5 Spring Bean装配之基于Java的容器注解说明——@Bean

利用@Configuration和@Bean注解注入bean的时候遇到一个问题。我要获取的时候发现获取不到。

@Configuration
public class StoreConfig {

    @Bean
    public StoreImpl store() {

        return new StoreImpl();
    }
}
public class StoreImpl implements Store {
}

然后我在单测里面直接获取不到

@RunWith(SpringJUnit4ClassRunner.class)
@Import({StoreConfig.class})
public class StoreBaseTest {

    @Resource
    private StoreImpl store;
    @Test
    public void test(){
        System.out.println(store.getClass().getName());

     }
}


提问者:猎鹰8525 2019-02-05 22:33

个回答

  • 艾欧尼亚昂扬不灭
    2019-02-15 19:54:45

    store 没有获取(Store store = super.getBean(“store”)  这里的store的类型应该是Store也就是接口类型 而不是实现类StoreImpl

  • 艾欧尼亚昂扬不灭
    2019-02-15 19:40:13

            @Bean
        public Store store() {
    
            return new StoreImpl();
        }