java - 为什么@Import引入一个config不能使用这个config中@Bean注解的方法?
巴扎黑
巴扎黑 2017-04-18 10:49:33
0
2
593
@Configuration
public class CDPlayerConfig {

    @Bean
    public CompactDisc sgtPeppers(){
        return new SgtPeppers();
    }
    
    @Bean
    public CDPlayer cdPlay(){
        return new CDPlayer(sgtPeppers());
    }

}

这个是能执行的

@Bean
public CompactDisc sgtPeppers(){
    return new SgtPeppers();
}

放到另一个配置文件中,然后通过@Import引入

@Configuration
public class CDConfig {
    @Bean
    public CompactDisc sgtPeppers(){
        return new SgtPeppers();
    }
}

引入外部的配置文件

@Configuration
@Import(CDConfig.class)
public class CDPlayerConfig {
 @Bean
    public CDPlayer cdPlay(){
        return new CDPlayer(sgtPeppers());
    }
}

就找不到这个method

巴扎黑
巴扎黑

membalas semua(2)
伊谢尔伦

Konsep asas adalah salah sgtPeppers() ialah kaedah memanggil kelas ini Jika ia tidak ditakrifkan, sudah tentu ia akan menyebabkan ralat kompilasi dan tiada kaitan dengan spring.
Tukarnya seperti ini:

@Configuration
@Import(CDConfig.class)
public class CDPlayerConfig {
 @Bean
    public CDPlayer cdPlay(CompactDisc cd){
        return new CDPlayer(cd);
    }
}
阿神

Salah Faham

Boleh digunakan dengan @Bean @Qualifier

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan