Springboot application.properties файл не работает, чтобы использовать стандартные и пользовательские свойства - PullRequest
0 голосов
/ 13 января 2020

Итак, я следовал почти всем учебным пособиям / примерам и вопросам переполнения стека, но я все еще не могу получить файл application.properties, чтобы иметь возможность заполнять значения в созданном мною классе ExternalConfig.

Файл класса свойств моего приложения находится в src / main / resources и выглядит следующим образом

app.developerName = "f21ad267-e241-4ed0-8943-721fa90bcf3a"
spring.boot.config.developerName = "f21ad267-e241-4ed0-8943-721fa90bcf3a"
server.port=9000
Access-Control-Allow-Origin: *

Созданный моей целью класс External Config выглядит следующим образом

@ConfigurationProperties(prefix="spring.boot.config")
@Component
public class ExternalConfig {

private String developerName;

public String getDeveloperName() {
    return developerName;
}

public void setDeveloperName(String developerName) {
    this.developerName = developerName;
}   
}

Наконец, мой основной класс Springboot выглядит так:

@EnableConfigurationProperties(ExternalConfig.class)
@SpringBootApplication
public class SpringBootMain implements CommandLineRunner {

@Autowired
ExternalConfig externalConfig;

@Bean
ResourceConfig resourceConfig() {
    return new ResourceConfig().registerClasses(ExternalConfig.class, Version1Api.class, Paypal.class);
}

public static void main(String[] args) {
    SpringApplication.run(SpringBootMain.class);
}

@Override
public void run(String... args) throws Exception {
    // TODO Auto-generated method stub
    System.out.println(externalConfig.getDeveloperName());

}  
}

Каждый раз, когда я запускаю код или отлаживаю его, ExternalClass и его переменные всегда равны нулю.

У меня заканчиваются идеи и методы попытаться сделать это альтернативным способом. Я что-то упустил в моем поме. xml?

Ответы [ 2 ]

1 голос
/ 13 января 2020

Эти 2 изменения могут помочь:

  1. Удалить пробелы рядом с символом «=» в файле application.properties
  2. Удалить слово «prefix =» из @ Аннотация ConfigurationProperties.

Дополнительная информация:

Очень хорошая статья с рабочим кодом для извлечения свойств приложения.

https://mkyong.com/spring-boot/spring-boot-configurationproperties-example/

0 голосов
/ 13 января 2020

Я думаю, вы должны определить бин по-другому

@Configuration
@ConfigurationProperties(prefix="spring.boot.config")
public class ExternalConfig {
...