Spring Boot: @ConditionalOnMissingProperty

Spring Boot bietet ein Conditional namens ConditionalOnProperty, die die Component nur dann registriert, wenn eine gewisse System-Property entsprechend (siehe Logik unter dem Link) gesetzt ist – und ggf. auch, wenn das Property fehlt und matchIfMissing auf true gesetzt ist.

Das “auch” störte mich in einem Fall, weil ich zwar gerne gewisse Komponenten per System-Property einkonfigurieren können möchte. Aber wenn ich diese nicht habe, brauche ich Fallback-Komponenten, und dafür eine Annotation, die nur triggert, wenn das Property fehlt.

Ansage ist hier:

Since detecting missing properties can be problematic, and we’ve not got a direct need for this ourselves, I think your own custom condition is the best approach.

, was ich hiermit getan habe. Jeder Kommentar erwünscht (gerne auf gist, aber wer keinen Account hat, kann auch hier).

Spring Security: isFullyAuthenticated()

ist stellenweise verwirrend beschrieben. Hier heißt es

Returns true if the user is not an anonymous or a remember-me user

, wobei die Klammerung fehlt: “not” bezieht sich auf beides! Hier ist es IMHO auf andere Art verwirrend, aber zumindest nicht mehrdeutig:

Determines if the SecurityExpressionOperations.getAuthentication() authenticated without the use of remember me
HTH