Как мы настраиваем строку подключения к базе данных в Spring Core или Spring Boot

#spring #spring-boot #spring-mvc

Вопрос:

Я из asp.net фон и недавно перешел на Java, а затем в Spring Core, а затем в Spring Boot. В asp.net у нас был только один файл для всех конфигураций, будь то строка подключения к бд или любой флаг коммутатора, все, что связано с конфигурацией, находится в web.config в asp.net. Как это работает в Spring Core и Spring Boot ? Как называется файл в этих двух случаях ?

Ответ №1:

Приложение SpringApplication имеет свойства компонентов (в основном задатчики), поэтому вы можете использовать его Java API при создании приложения для изменения его поведения, или вы можете экстернализировать конфигурацию, используя свойства spring.main.* , например, в application.properties или . application.yml Пример обоих этих способов:

  • Использование свойств установщика компонентов для конфигурации. Вы можете видеть, что значения жестко закодированы:
 @Configuration
public class DataSourceConfig {
    
    @Bean
    public DataSource getDataSource() {
        DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
        dataSourceBuilder.driverClassName("org.h2.Driver");
        dataSourceBuilder.url("jdbc:h2:mem:test");
        dataSourceBuilder.username("SA");
        dataSourceBuilder.password("");
        return dataSourceBuilder.build();
    }
}
 
  • Пример экстернализации с. application.properties Здесь эти значения анализируются и непосредственно используются для подключения к бд:
 spring.datasource.url=jdbc:h2:mem:test
spring.datasource.driver-class-name=org.h2.Driver
 

проверьте https://docs.spring.io/spring-boot/docs/1.2.0.M1/reference/html/howto-properties-and-configuration.html для получения дополнительной информации.

Комментарии:

1. когда вы говорите «экстернализировать», есть ли еще какой-нибудь другой способ ? Также есть какой-нибудь способ «интерлизации»?

2. @user2746466 да, я добавил примеры обоих из них

3. Если я хочу добавить больше файлов свойств, отличных от application.properties, могу ли я добавить это ? Скажем, я должен добавить «flags.properties», тогда как мне добавить ссылку на него в application.properties ИЛИ есть какой-либо другой способ ?

4. Да, проверьте профили пружин . Вы можете создать файл под названием «флаги приложений.свойства» и добавить его в список активных профилей, и приложение автоматически выберет его и применит переопределения по мере необходимости.