web-dev-qa-db-ja.com

BeanNotOfRequiredTypeException:Xという名前のBeanはタイプXであることが期待されていますが、実際にはタイプ 'com.Sun.proxy。$ Proxyでした

私はそのようなクラスとSpringコンテキストを持っています。

これを修正する方法Java構成、xmlではありませんか?

私は他の投稿からいくつかの解決策を試しましたが、成功しませんでした。

@Service
@Transactional
public class XCalculationService implements VoidService<X> {
}

public interface VoidService<Input> {
}

@AllArgsConstructor
public class XService {
private XCalculationService calculationService;
}

@Configuration
public class ServiceConfiguration {
@Bean
public OrderService orderService(XCalculationService calculationService) {
    return new XService(calculationService);
}

@Bean
public XCalculationService calculationService() {
    return new XCalculationService ();
}
}

エラー

BeanNotOfRequiredTypeException: Bean named 'calculationService' is expected to be of type 'com.x.XCalculationService' but was actually of type 'com.Sun.proxy.$Proxy
6
Arthur

どこかで@ComponentScanがアクティブ化されており、@Serviceアノテーション付きのXCalculationServiceクラスがスキャンされていると思います。

したがって、いずれかを削除@Service from XCalculationService

または削除

@Bean
public XCalculationService calculationService() {
    return new XCalculationService ();
}

ServiceConfigurationから

1
mrkernelpanic