2017-01-05 2 views
1

Я хочу спросить, как в настоящее время у меня есть свойства моей базы данных, такие как имя пользователя и пароль внутри слоя persistence в intellij. Но я хочу разместить его где-то снаружи, поэтому, если кто-то хочет изменить пароль или любую конфигурацию внутри базы данных, ему не нужно будет копаться внутри моей текущей структуры. Теперь моя структура - это персистентность, а затем основные ресурсы, а затем свойства dbconfig, поэтому я могу это сделать.Конфигурирование свойств базы данных извне intellij

+0

, что означает, что внутри IntelliJ ? Используете ли вы файл свойств приложений Spring Boots для определения источника данных? – Patrick

+0

yes Я использую весенний ботинок – siya

ответ

1

Вы можете создать файл app.properties в папку resources со всей информацией базы данных, вам необходимо:

# Datasource details 
testapp.db.driver = org.h2.Driver 
testapp.db.url = jdbc:h2:mem:test 
testapp.db.username = username 
testapp.db.password = password 

Тогда вы можете обратиться к нему в коде Java, как:

@Configuration 
@PropertySource("app.properties") 
public class DataConfig { 
    @Autowired 
    private Environment env; 

    @Bean 
    public DataSource dataSource() { 
     BasicDataSource ds = new BasicDataSource(); 
     ds.setDriverClassName(env.getProperty("testapp.db.driver")); 
     ds.setUrl(env.getProperty("testapp.db.url")); 
     ds.setUsername(env.getProperty("testapp.db.username")); 
     ds.setPassword(env.getProperty("testapp.db.password")); 
     return ds; 
    } 
} 
+0

Привет, DimaSan, спасибо за ваше предложение .. Мне было интересно, будет ли я выбирать пакет ресурсов для этого app.properties, тогда для этого app.properties создаются 2 файла, в которых я должен поместить свои данные db? – siya

+0

Привет @siya, да, вы можете это сделать, используя ResourceBundle, проверьте [хороший пример] (http://www.avajava.com/tutorials/lessons/how-do-i-read-a-properties-file -с-а-ресурс-bundle.html). Но лично для меня этот сценарий более ясен и проще в использовании. – DimaSan

Смежные вопросы