Я совершенно новичок в концепции весенней загрузки Io C, и @ Bean
Допустим, этот код реализован
@SpringBootApplication
public class MyApplication{
@Bean
public WebClient rest(ReactiveClientRegistrationRepository clients,
ServerOAuth2AuthorizedClientRepository authz) {
Вы видите здесь, есть только 1 класс, который реализует интерфейс ReactiveClientRegistrationRepository
, поэтому мое правильное предположение состоит в том, что если есть только один класс, который реализует его, то это будет автоматически autowired
с параметром clients
public final class InMemoryReactiveClientRegistrationRepository
implements ReactiveClientRegistrationRepository, Iterable<ClientRegistration> {
Вкл. С другой стороны, ServerOAuth2AuthorizedClientRepository
реализуется 3 различными классами, а именно:
public final class AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository
implements ServerOAuth2AuthorizedClientRepository {
public class UnAuthenticatedServerOAuth2AuthorizedClientRepository implements ServerOAuth2AuthorizedClientRepository {
public final class WebSessionServerOAuth2AuthorizedClientRepository
implements ServerOAuth2AuthorizedClientRepository {
. При отладке выбирается следующий класс: AuthenticatedPrincipalServerOAuth2AuthorizedClientRepository
. который? Я думаю, что были бы конфликты компонентов, такие как в этом вопросе Spring boot, автоматическое подключение интерфейса с несколькими реализациями