Я следую учебному пособию по Java Spring Boot, и текущая тема заключается в том, что можно использовать оба приложения.spring.profiles.active=EN, cat
custom.username=user
custom.password=pass
Я удалил его и создал Application.yml вместо этого. IntelliJ даже отмечает его с помощью маленькой иконки кнопки «Зеленый старт». Application.yml выглядит так:
spring:
profiles:
active: EN, cat
custom:
username: user
password: pass
Но когда я делаю пользовательские свойства больше не распознаются. IDE отмечает их красным и показывает эту ошибку: «Ключ 'Custom» здесь не ожидается »
Я не был уверен, правильно ли это, поэтому я попробовал то, что предложил IDE при использовании AutoComplete для написания Spring.profiles.active , который писал элементы списка, подобные этим:
spring:
profiles:
active:
- EN
- cat
custom:
username: user
password: pass
< /code>
Но это также не помогло. < /p>
Я не уверен, куда идти отсюда. Я пытался исследовать проблему, однако единственные удары, которые я получаю, которые несколько близки, все просто упомянули, что можно использовать yml вместо свойств , а некоторые даже используют пользовательские свойства, как я отображал выше.
это может быть проблема версии? Мой помпон выглядит так: < /p>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.2.2.RELEASE
myID
myArtifact
0.0.1-SNAPSHOT
myName
myDescription
11
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.boot
spring-boot-maven-plugin
< /code>
Обновление < /h1>
, чтобы ответить на вопрос, который Bard B, представляемый в комментариях. Это сообщение об ошибке: < /p>
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-01-05T08:58:07.711+01:00 ERROR 5026 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in my.package.controllers.I18nController required a bean of type 'my.package.services.GreetingService' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Qualifier("i18nService")
The following candidates were found but could not be injected:
- User-defined bean
- User-defined bean
- User-defined bean method 'primaryGreetingService' in 'GreetingServiceConfig'
- User-defined bean method 'propertyInjectedGreetingService' in 'GreetingServiceConfig'
- User-defined bean method 'setterInjectedGreetingService' in 'GreetingServiceConfig'
- User-defined bean
Action:
Consider revisiting the entries above or defining a bean of type 'my.package.services.GreetingService' in your configuration.
Process finished with exit code 1
< /code>
На первый взгляд это выглядит так, как будто я все испортил в определении или конфигурации моих бобов. Однако, когда я возвращаю свой репозиторий обратно в состояние, где я использовал приложение. Прозрачные файл, как описано выше, все работает как ожидалось. /> Создать Application.yml < /code> < /li>
< /ol>
Я ничего не изменил.On Branch master
Your Branch is in the same state as 'origin/master'.
Staged changes:
deleted: src/main/resources/application.properties
new file: src/main/resources/application.yml
Unstaged changes::
changed: src/main/resources/application.yml
< /code>
src/main/resources/application.yml поставлен в виде нового файла, а затем имеет неоставленные изменения, потому что IDE устроил новый файл при создании. Просто чтобы выяснить любую путаницу. Хотя это не должно влиять на результат.
Обновление 2
Как было предложено в комментариях, которые я пытался добавить @configurationproperties (prefix = "custom") , но все, что делало, было слегка изменить ошибку:
Error creating bean with name 'i18nController' defined in file
[/path/target/classes/my/package/controllers/I18nController.class]:
Unsatisfied dependency expressed through constructor parameter 0:
No qualifying bean of type 'my.package.services.GreetingService' available:
expected at least 1 bean which qualifies as autowire candidate.
Dependency annotations:
{@org.springframework.beans.factory.annotation.Qualifier("i18nService")}
Подробнее здесь: https://stackoverflow.com/questions/750 ... cation-yml
Java Spring Boot Custom Properties не работает в Application.yml ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как преобразовать application.properties в application.yml в Spring Boot?
Anonymous » » в форуме JAVA - 0 Ответы
- 59 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как преобразовать application.properties в application.yml в Spring Boot?
Anonymous » » в форуме JAVA - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как преобразовать application.properties в application.yml в Spring Boot?
Anonymous » » в форуме JAVA - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как указать на Application-local.yml вместо Application-dev.yml в IntelliJ?
Anonymous » » в форуме JAVA - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-