В случае Spring Boot вам не нужно передавать какие-либо параметры при запуске загрузочного приложения.
Когда загружается загрузочное приложение Spring, оно автоматически проверяет, существует ли файл свойств в определенных местах, включая src/main/resources
, src/main/resources/config
.
Если вы сохраните файл свойств в этих папках, приложение автоматически подберет файлы и зарегистрирует свойства.Так что в вашем AppConfig
вам не нужны @Component
, @EnableAutoConfiguration
, @PropertySource
и @EntityScan
, потому что @Configuration
уже включает @Component
, что позволяет @Value
работать.
Я думаю, что проблема может возникнуть, когда вы вызываете свойство в конструкторе AppConfig
, потому что при создании класса @Value
еще не внедрен.
Если вы хотите проверить, является ли значение свойстваВнедренный Spring, вы можете сделать небольшой тест в классе приложения, например:
@SpringBootApplication
public class ApppropApplication {
@Autowired
private AppConfig appConfig;
public static void main(String[] args) {
SpringApplication.run(ApppropApplication.class, args);
}
@PostConstruct
public void init(){
System.out.println(appConfig.getTestProperty());
}
}
Если ваша проблема все еще существует, было бы здорово предоставить больше информации (журналы ошибок и всю структуру класса)
Надеюсь, это поможет!Удачного кодирования:)