Ho un servizio di autenticazione che desidero autoconfigurare in fase di runtime ma che verrà messo a punto per lo sviluppo e il testing. Vorrei utilizzare la funzione @ConfigurationProperties
per definire i parametri necessari, ma devo anche essere in grado di creare solo condizionatamente le istanze AuthenticationManager
, a seconda che sia configurato un servizio live.Spring Boot condizionale su @ConfigurationProperties
L'approccio che vorrei adottare è quello di utilizzare qualcosa come @ConditionalOnBean(AuthProperties.class)
, ma Spring Boot crea un bean della mia classe @ConfigurationProperties
indipendentemente dal fatto che le proprietà siano presenti. Posso applicare annotazioni di convalida ai campi, ma il contesto non verrà avviato affatto se un servizio live non è configurato.
Esiste un modo pulito per rendere condizionale una sezione di configurazione in modo che le proprietà siano specificate in una classe @ConfigurationProperties
senza ripetere i nomi di proprietà in @ConditionalOnProperty
?
Gli oggetti '@ ConfigurationProperties' possono anche essere utilizzati per specificare valori predefiniti, che (ovviamente) non vengono rilevati da' @ ConditionalOnProperty'. Quindi questa è ancora una domanda molto pertinente. – P44T