Von was ich verstehe von dem Kommentar, den Sie in Ihrer neuen Spring Boot Java-Konfiguration erstellen und verwenden möchten. Die beste Praxis der Federverschluß zu erstellen und Eigenschaften ist die Schaffung einer bean
für sie wie folgt vor:
@Component
@ConfigurationProperties(prefix = "my")
public class MyProperties {
private String myFirstProperty;
public String getMyFirstProperty() {
return this.myFirstProperty;
}
public void setMyFirstProperty(String myFirstProperty) {
this.myFirstProperty = myFirstProperty;
}
}
Nun, wenn Sie die Eigenschaft my.my-first-property=value
in application.properties
platzieren, die in src/main/resources
Frühjahr Boot befinden sollte, wird automatisch Eigenschaften wählen vorbei das definierte Präfix (my
in diesem Fall) und versuchen, sie mit der bean
kommentiert mit @ConfigurationProperties
.
Danach können Sie diese Bean irgendwo in Ihre Java-Konfiguration injizieren, um die Eigenschaften als Standard-POJO zu verwenden.
Sie können nun diese Bohne verwenden komplexere configuraiton mit Klassen, Aufzählungen, Listen, Karten usw. und ich empfehlen die Verwendung von YAML Syntax von application.properties
Weitere Informationen zu application.yml
Wechsel zu erstellen: docs
EDIT: Beispiel, wie Sie die Eigenschaften in einer Konfigurationsklasse verwendet wird:
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
private final MyProperties myProperties;
public WebSecurityConfig(MyProperties myProperties) { // inject the property class using constructor injections
this.myProperties = myProperties;
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userDnPatterns(myProperties.getMyFirstProperty()) // here i use a property loaded from external source (application.properties/yml)
.groupSearchBase("ou=groups")
.contextSource(contextSource())
.passwordCompare()
.passwordEncoder(new LdapShaPasswordEncoder())
.passwordAttribute("userPassword");
}
}
Haben Sie meinen, wie 'properties' zu setzen oder wie ein' bean' von som definieren Der Typ/Klasse? – Tom
Einstellungseigenschaften. – mandar