Правильный и стандартный способ размещения файлов application.properties в многомодульном проекте Springboot и развертывJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Правильный и стандартный способ размещения файлов application.properties в многомодульном проекте Springboot и развертыв

Сообщение Anonymous »

Я пытаюсь найти правильный и стандартный способ размещения файлов application.properties в многомодульном проекте Springboot и развертывания как
как JAR-файла
У меня есть проект Springboot с двумя модулями — библиотекой и приложение. Библиотека содержит только служебную службу, которая должна использоваться модулем приложения (основным). В модуль библиотеки я поместил файлы application.properties, содержащие пары ключ-значение:

Код: Выделить всё

service.message.test=Hello from Library Module
Я использую это свойство в одном из файлов классов обслуживания в библиотечном модуле, используя следующий код:

Код: Выделить всё

 @Service
@EnableConfigurationProperties(ServiceProperties.class)

public class MyService {

@Value("${service.message.test}")
private String libMessage;

private final ServiceProperties serviceProperties;

public MyService(ServiceProperties serviceProperties) {
this.serviceProperties = serviceProperties;
}

public String message() {
return this.serviceProperties.getMessage()+libMessage; };
}
Кроме того, у меня есть модуль приложения (основной), в котором также есть файлы application.properties в папке src/main/resources. Этот файл содержит
другие пары ключ-значение. для применения

Код: Выделить всё

service.message=Hello, World
Теперь я использую команду mvn clean package, чтобы упаковать приложение в файл JAR. Но при запуске команды я получаю сообщение об ошибке:

Код: Выделить всё

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'service.message.test' in value "${service.message.test}"
Теперь у меня есть следующие вопросы:
  • Если мы создаем многомодульный проект SpribgBoot, не можем ли мы хранить application.properties в каждом модуле, а всегда использовать только
    @ConfigurationProperties("service")?
  • Мне нужно передать несколько свойств различным классам в библиотечном модуле .Я делаю это, передавая его из файлов свойств на уровне модуля с помощью аннотации @Value("${xxxx}"). Поскольку это выдает ошибку, это не разрешено?
  • Разрешен ли файл application.properties только в модуле приложения (основном), а не в зависимых отдельных модулях?
  • Каков стандартный способ управления файлами свойств в многомодульном Springboot? проект ?
[img]https://i.sstatic. net/kZzj0Vjb.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/791 ... springboot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»