overriding properties section and changing article module
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
public class Credentials {
|
||||
|
||||
private String username;
|
||||
private String password;
|
||||
|
||||
public Credentials(String username, String password) {
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@ConfigurationPropertiesBinding
|
||||
public class CustomCredentialsConverter implements Converter<String, Credentials> {
|
||||
|
||||
@Override
|
||||
public Credentials convert(String source) {
|
||||
String data[] = source.split(",");
|
||||
return new Credentials(data[0], data[1]);
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.Email;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "validate")
|
||||
@PropertySource("classpath:property-validation.properties")
|
||||
@Validated
|
||||
public class MailServer {
|
||||
|
||||
@NotNull
|
||||
@NotEmpty
|
||||
private Map<String, @NotBlank String> propertiesMap;
|
||||
|
||||
@Valid
|
||||
private MailConfig mailConfig = new MailConfig();
|
||||
|
||||
public static class MailConfig {
|
||||
|
||||
@NotBlank
|
||||
@Email
|
||||
private String address;
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, String> getPropertiesMap() {
|
||||
return propertiesMap;
|
||||
}
|
||||
|
||||
public void setPropertiesMap(Map<String, String> propertiesMap) {
|
||||
this.propertiesMap = propertiesMap;
|
||||
}
|
||||
|
||||
public MailConfig getMailConfig() {
|
||||
return mailConfig;
|
||||
}
|
||||
|
||||
public void setMailConfig(MailConfig mailConfig) {
|
||||
this.mailConfig = mailConfig;
|
||||
}
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.boot.convert.DataSizeUnit;
|
||||
import org.springframework.boot.convert.DurationUnit;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.util.unit.DataSize;
|
||||
import org.springframework.util.unit.DataUnit;
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "server")
|
||||
public class PropertyConversion {
|
||||
|
||||
private DataSize uploadSpeed;
|
||||
|
||||
@DataSizeUnit(DataUnit.GIGABYTES)
|
||||
private DataSize downloadSpeed;
|
||||
|
||||
private Duration backupDay;
|
||||
|
||||
@DurationUnit(ChronoUnit.HOURS)
|
||||
private Duration backupHour;
|
||||
|
||||
private Credentials credentials;
|
||||
|
||||
public Duration getBackupDay() {
|
||||
return backupDay;
|
||||
}
|
||||
|
||||
public void setBackupDay(Duration backupDay) {
|
||||
this.backupDay = backupDay;
|
||||
}
|
||||
|
||||
public Duration getBackupHour() {
|
||||
return backupHour;
|
||||
}
|
||||
|
||||
public void setBackupHour(Duration backupHour) {
|
||||
this.backupHour = backupHour;
|
||||
}
|
||||
|
||||
public DataSize getUploadSpeed() {
|
||||
return uploadSpeed;
|
||||
}
|
||||
|
||||
public void setUploadSpeed(DataSize uploadSpeed) {
|
||||
this.uploadSpeed = uploadSpeed;
|
||||
}
|
||||
|
||||
public DataSize getDownloadSpeed() {
|
||||
return downloadSpeed;
|
||||
}
|
||||
|
||||
public void setDownloadSpeed(DataSize downloadSpeed) {
|
||||
this.downloadSpeed = downloadSpeed;
|
||||
}
|
||||
|
||||
public Credentials getCredentials() {
|
||||
return credentials;
|
||||
}
|
||||
|
||||
public void setCredentials(Credentials credentials) {
|
||||
this.credentials = credentials;
|
||||
}
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "server")
|
||||
public class ServerConfig {
|
||||
|
||||
private Address address;
|
||||
private Map<String, String> resourcesPath;
|
||||
|
||||
public static class Address {
|
||||
|
||||
private String ip;
|
||||
|
||||
public String getIp() {
|
||||
return ip;
|
||||
}
|
||||
|
||||
public void setIp(String ip) {
|
||||
this.ip = ip;
|
||||
}
|
||||
}
|
||||
|
||||
public Address getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(Address address) {
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public Map<String, String> getResourcesPath() {
|
||||
return resourcesPath;
|
||||
}
|
||||
|
||||
public void setResourcesPath(Map<String, String> resourcesPath) {
|
||||
this.resourcesPath = resourcesPath;
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package com.baeldung.boot.configurationproperties;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class ServerConfigFactory {
|
||||
|
||||
@Bean
|
||||
@ConfigurationProperties(prefix = "server.default")
|
||||
public ServerConfig getDefaultConfigs() {
|
||||
return new ServerConfig();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user