Spring Boot не загружает свойства из файла YML - PullRequest
0 голосов
/ 26 сентября 2018

Мой тестовый файл:

@ActiveProfiles("test")
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class MyApplicationTest {
    @InjectMocks
    @Autowired
    protected MyController myController;

} 

Мой Controller файл:

@RestController
@RequestMapping(value="${app.base-path}")  // Unable to load this property
public class MyController {

}

Я пытался @TestPropertySource, но не работал.SpringBootApplication работает отлично.Это не относится к аннотации @Value.Поля, украшенные @Value аннотацией, работают просто отлично.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

По умолчанию Spring Boot попытается загрузить application.yml и application-{profilename}.yml, доступные в classpath, поэтому вы можете попробовать использовать application-test.yml (это устранит проблему с определением профилей в одном файле -может быть, это вызывает вашу проблему).

Кроме того, вы можете попробовать с bootstrap.yml, который загружается до application.yml.

0 голосов
/ 26 сентября 2018

Вы назвали свой файл .yml application.yml и поместили его в src/main/java/resources или src/test/java/resources?

Поместив файл application.yml в эти папки, он будет автоматически добавлен вclasspath для того, чтобы вы могли получить доступ к свойствам этого файла во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...