-
Notifications
You must be signed in to change notification settings - Fork 3
@ConfigurationProperties오류
@Configuration
@ConfigurationProperties(prefix = "app")
public class AppProperties {
private final Auth auth = new Auth();
private final OAuth2 oauth2 = new OAuth2();
public Auth getAuth() { return auth; }
public OAuth2 getOauth2() {
return oauth2;
}
public static class Auth {
private String tokenSecret;
private long tokenExpirationMsec;
...
위와 가팅 ConfigurationProperties를 이용하여 의존성을 주입할때, 흔히 발생하는
위의 메세지를 처리하는 방법을 이야기해보겠다.
- 공식문서 참고 의존성 추가.
You can easily generate your own configuration metadata file from items annotated with @ConfigurationProperties
by using the spring-boot-configuration-processor
jar. The jar includes a Java annotation processor which is invoked as your project is compiled. To use the processor, include a dependency on spring-boot-configuration-processor
.
With Maven the dependency should be declared as optional, as shown in the following example:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
With Gradle 4.5 and earlier, the dependency should be declared in the compileOnly
configuration, as shown in the following example:
dependencies {
compileOnly "org.springframework.boot:spring-boot-configuration-processor"
}
With Gradle 4.6 and later, the dependency should be declared in the annotationProcessor
configuration, as shown in the following example:
dependencies {
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
}
If you are using an additional-spring-configuration-metadata.json
file, the compileJava
task should be configured to depend on the processResources
task, as shown in the following example:
compileJava.inputs.files(processResources)
This dependency ensures that the additional metadata is available when the annotation processor runs during compilation.
The processor picks up both classes and methods that are annotated with @ConfigurationProperties
. The Javadoc for field values within configuration classes is used to populate the description
attribute.
© 2021 Copyright: SSAFY(SAMSUNG Software Academy For Youth)
@upswp | @daep93 | @gluwein | @junjun0905 | @pertus123