【问题标题】:How do we do database connection string configuration in Spring Core or Spring Boot我们如何在 Spring Core 或 Spring Boot 中进行数据库连接字符串配置
【发布时间】:2021-09-29 06:53:49
【问题描述】:

我来自 asp.net 背景,最近转向 Java,随后转向 Spring Core,然后是 Spring Boot。 在 asp.net 中,我们只有一个文件用于所有配置,无论是 db 连接字符串还是任何开关标志,与配置相关的所有内容都在 asp.net 中的 web.config 中。 它在 Spring Core 和 Spring Boot 中如何工作? 这两种情况下的文件名是什么?

【问题讨论】:

    标签: spring spring-boot spring-mvc


    【解决方案1】:

    SpringApplication 具有 bean 属性(主要是 setter),因此您可以在创建应用程序时使用其 Java API 来修改其行为,或者您可以使用 spring.main.* 中的属性将配置外部化。例如。在application.propertiesapplication.yml。这两种方式的示例:

    • 使用 bean setter 属性进行配置。您可以看到被硬编码的值:
    @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 了解更多信息。

    【讨论】:

    • 当您说“外部化”时还有其他方法吗?还有什么“interlization”方式吗?
    • @user2746466 是的,我已经添加了这两个示例
    • 如果我想添加除 application.properties 之外的更多属性文件,我可以添加吗?说,我必须添加 'flags.properties' 那么我如何在 application.properties 中添加它的引用或者还有其他方法吗?
    • 是的,结帐spring profiles。您可以创建名为“application-flags.properties”的文件并将其添加到活动配置文件列表中,应用程序将自动选择它并根据需要应用覆盖。
    猜你喜欢
    • 2019-08-10
    • 2021-10-03
    • 2019-02-07
    • 2012-01-04
    • 2020-07-22
    • 2020-10-04
    • 1970-01-01
    • 2016-06-12
    • 2017-03-15
    相关资源
    最近更新 更多