diff --git a/resources/application.properties b/resources/application.properties new file mode 100644 index 0000000..8762ad0 --- /dev/null +++ b/resources/application.properties @@ -0,0 +1,4 @@ +app.datasource.url=jdbc:postgresql://localhost:5434/charm_repository +app.datasource.username=postgres +app.datasource.password=123456 +app.datasource.driver=org.postgresql.Driver \ No newline at end of file diff --git a/src/ru/charm/back/dao/ProfileDao.java b/src/ru/charm/back/dao/ProfileDao.java index 1778071..651c47c 100644 --- a/src/ru/charm/back/dao/ProfileDao.java +++ b/src/ru/charm/back/dao/ProfileDao.java @@ -8,6 +8,7 @@ import ru.charm.back.model.Gender; import ru.charm.back.model.Profile; import ru.charm.back.model.Role; import ru.charm.back.model.Status; +import ru.charm.back.utils.ConfigFile; import java.sql.*; import java.sql.Date; @@ -18,14 +19,15 @@ import java.util.*; public class ProfileDao { private static final ProfileDao INSTANCE = new ProfileDao(); - public static final String URL = "jdbc:postgresql://localhost:5434/charm_repository"; - public static final String USER = "postgres"; - public static final String PASSWORD = "123456"; + public static final String URL = ConfigFile.get("app.datasource.url"); + public static final String USER = ConfigFile.get("app.datasource.username"); + public static final String PASSWORD = ConfigFile.get("app.datasource.password"); + public static final String DRIVER = ConfigFile.get("app.datasource.driver"); @SneakyThrows public static ProfileDao getInstance() { - Class.forName("org.postgresql.Driver"); + Class.forName(DRIVER); return INSTANCE; } diff --git a/src/ru/charm/back/utils/ConfigFile.java b/src/ru/charm/back/utils/ConfigFile.java new file mode 100644 index 0000000..72d1200 --- /dev/null +++ b/src/ru/charm/back/utils/ConfigFile.java @@ -0,0 +1,29 @@ +package ru.charm.back.utils; + +import lombok.experimental.UtilityClass; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +@UtilityClass +public class ConfigFile { + private static final Properties CONFIG = new Properties(); + + static { + loadConfig(); + } + + public static String get(String key) { + return CONFIG.getProperty(key); + } + + + private static void loadConfig() { + try (InputStream resourceAsStream = ConfigFile.class.getClassLoader().getResourceAsStream("application.properties")) { + CONFIG.load(resourceAsStream); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +}