Ваш private static FusionAuthClient INSTANCE = null
не нужен. По умолчанию бобы определяются как одиночные. @see: Bean Scopes
Поскольку вы используете @Configuration
, все, что вам нужно сделать, это изменить свой FusionAuthClientConfig
на следующее, и вы сможете ссылаться на него в другом месте в ваше приложение как свойство @Autowire
d.
@Configuration
public class FusionAuthClientConfig {
@Value("${fusionAuth.apiKey}")
private String apiKey;
@Value("${fusionAuth.baseUrl}")
private String baseUrl;
@Bean
public FusionAuthClient fusionAuthClient() {
return new FusionAuthClient(apiKey, baseUrl);
}
}
Теперь на ваш компонент fusionAuthClient
можно ссылаться в другом месте, например так:
@Service
//or @Component etc
public class MyService {
private final FusionAuthClient fusionAuthClient;
public MyService(FusionAuthClient fusionAuthClient) {
this.fusionAuthClient = fusionAuthClient;
}
public void doTheThing() {
// use this.fusionAuthClient
}
}