O Spring-boot nos permite vários métodos para fornecer configurações externalizadas, você pode tentar usar arquivos application.yml ou yaml em vez do arquivo de propriedades e fornecer diferentes arquivos de propriedades configurados de acordo com diferentes ambientes.
Podemos separar as propriedades de cada ambiente em arquivos yml separados em perfis de mola separados.Em seguida, durante a implantação, você pode usar:
java -jar -Drun.profiles=SpringProfileName
para especificar qual perfil de primavera usar. Observe que os arquivos yml devem ter nomes como
application-{environmentName}.yml
para que sejam capturados automaticamente pelo springboot.
Referência: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties
Para ler do arquivo application.yml ou property:
A maneira mais fácil de ler um valor do arquivo de propriedades ou do yml é usar a anotação spring @value.Spring carrega automaticamente todos os valores do yml para o ambiente do spring, para que possamos usar diretamente esses valores do ambiente, como:
@Component
public class MySampleBean {
@Value("${name}")
private String sampleName;
// ...
}
Ou outro método que o Spring fornece para ler feijões fortemente tipados é o seguinte:
YML
ymca:
remote-address: 192.168.1.1
security:
username: admin
POJO correspondente para ler o yml:
@ConfigurationProperties("ymca")
public class YmcaProperties {
private InetAddress remoteAddress;
private final Security security = new Security();
public boolean isEnabled() { ... }
public void setEnabled(boolean enabled) { ... }
public InetAddress getRemoteAddress() { ... }
public void setRemoteAddress(InetAddress remoteAddress) { ... }
public Security getSecurity() { ... }
public static class Security {
private String username;
private String password;
public String getUsername() { ... }
public void setUsername(String username) { ... }
public String getPassword() { ... }
public void setPassword(String password) { ... }
}
}
O método acima funciona bem com arquivos yml.
Referência: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Environment
ou via@ConfigurationProperties