0

use Placeholder

This commit is contained in:
2021-05-18 18:15:32 +03:00
parent 0ceef5e575
commit ab03ab1271
5 changed files with 61 additions and 10 deletions

View File

@@ -0,0 +1,23 @@
package ru.dmitriymx.plugin.config;
import org.bukkit.configuration.file.FileConfiguration;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import java.util.Optional;
import java.util.Properties;
@SuppressWarnings("deprecation")
public class BukkitYamlPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
private final FileConfiguration fileConfiguration;
public BukkitYamlPlaceholderConfigurer(FileConfiguration fileConfiguration) {
this.fileConfiguration = fileConfiguration;
}
@Override
protected String resolvePlaceholder(String placeholder, Properties props) {
return Optional.ofNullable(fileConfiguration.getString(placeholder))
.orElseGet(() -> super.resolvePlaceholder(placeholder, props));
}
}

View File

@@ -0,0 +1,26 @@
package ru.dmitriymx.plugin.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("ru.dmitriymx.plugin")
public class SpringConfig {
@Value("${database.url}")
private String databaseUrl;
@Value("${database.user}")
private String databaseUser;
@Value("${database.password}")
private String databasePassword;
//TODO для демонстрации
@Bean("databaseUrl")
public String getDatabaseUrl() {
return databaseUrl;
}
}