Как я могу загрузить файл дополнительных свойств в приложение весенней загрузки, упакованное как война? - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть стандартное веб-приложение springboot.Я хочу загрузить файл свойств, которого нет в пути к классам.application.properties находится в пути к классам и читается правильно.

У меня нет проблем, когда я строю банку.Я просто положил .properties рядом с банкой, и это работает.Но когда я упаковал войну, я не смог заставить приложение прочитать файл свойств.

Ответы [ 3 ]

0 голосов
/ 08 апреля 2019

Вы можете использовать ClassPathResource. данный класс для загрузки ресурсов.

Это пример кода для вас

ClassPathResource resource = new ClassPathResource("/application/context/blabla.yml");
InputStream inputStream = resource.getInputStream();
File file = resource.getFile();

// using inputStream or file

ClassPathResource

0 голосов
/ 17 мая 2019

Вы можете использовать пружину application.properties, чтобы иметь пружинные профили, и использовать пружинные профили, чтобы определять отдельные свойства для каждой среды по своему усмотрению. Вы даже можете выделять пружинные профили в различные файлы, такие как appication-dev.properties и т. Д., Чтобы вы моглиможет иметь каждый профиль пружины в разных файлах.

Свойства можно прочитать с помощью аннотации @Configuration:

@Configuration
@EnableConfigurationProperties(TestProperties.class)
public class MySampleConfiguration {
} 

Здесь TestProperties.class используется для сопоставления значений из файла свойств илиямлСсылка в деталях: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

0 голосов
/ 07 апреля 2019

Вы помещаете файл свойств параллельно файлу application.properties и загружаете его в класс, подобный этому:

@PropertySource("classpath:foo.properties")
public class My class {

@Value( "${some.property}" )
String myProp;

}
...