可以在Spring Boot中自定义属性文件吗?

时间:2018-10-08 14:31:12

标签: spring-boot

我是Spring Boot的新手。 Spring Boot的默认属性文件位于/ src / main / resource文件夹中,名称为application.properties。现在,我不想使用默认属性。 假设我放了两个属性文件: 1. demo1.properties 2. demo2.properties Spring Boot中将如何引用这两个属性文件? 我正在尝试在主类中使用@PropertySource,但无法正常工作。还有其他办法吗? 这是我的主要课程::

@SpringBootApplication
@ComponentScan("com.wiley.dnb.controller")
@PropertySource("classpath:log4j.properties")
@PropertySource("classpath:services.properties")

    public class DNBMain {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            SpringApplication.run(DNBMain.class, args);

        }

    }

谢谢。

3 个答案:

答案 0 :(得分:0)

您需要弹簧轮廓!

  

配置文件有助于针对不同环境使用不同的应用程序配置。

在程序启动时,您选择要使用的配置文件/配置。

这是有关此主题的教程:http://www.springboottutorial.com/spring-boot-profiles

答案 1 :(得分:0)

添加此依赖项;

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>

并将@PropertySource(“ classpath:application.properties”)添加到您的配置类中。

答案 2 :(得分:0)

您可以使用:来注释配置类:

@PropertySource({"classpath:demo1.properties", "classpath:demo2.properties"})

在Spring环境中添加属性。

例如:

@SpringBootApplication 
@PropertySource({"classpath:demo1.properties", "classpath:demo2.properties"})
public class MyApplication { ...}

当然,这些属性文件必须在运行时位于类路径中。