[SPRING] @Value 때문에 봄 애플리케이션에서 빈을 생성하는 중 오류가 발생했습니다.
SPRING@Value 때문에 봄 애플리케이션에서 빈을 생성하는 중 오류가 발생했습니다.
나는 하나의 구성 요소 인 클래스를 가지고있다. 이 클래스에서는 application.properties에서 속성을 채우려고합니다. 같은 @Value 주석을 사용하고 있습니다. @value 주석을 추가 할 때 아래 오류가 발생합니다. setter 메소드에서 @Value가 발생하면 응용 프로그램이 autowired dependencies의 Injection을 실패하게 만듭니다. 예외.
다음은 클래스입니다.
@Component
public class AgsProbeConstants {
public static final String COMPONENT_KEY = "component";
public static final String API_KEY = "api";
public static final String CALLEE_KEY = "callee";
public static final String RESPONSE_CODE_KEY = "response_code";
public static final String ERROR_RESPONSE_CODE_KEY = "error_reason_code";
public static final String HOST_KEY = "host";
public static final String METRIC_VALUE = "api.connect.http.count";
public String pushUrl;
public String getPushUrl() {
return pushUrl;
}
@Value("${property.push.url}")
public void setPushUrl(String url) {
pushUrl = url;
}
}
이것은 완벽하게 작동하며 웹 애플리케이션을 직접 실행할 때 가치를 선택합니다. 하지만 내가 maven 설치를 할 때 오류가 발생합니다. 다음은 오류입니다.
Error creating bean with name 'agsProbeConstants': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'property.push.url' in value "${property.push.url}"
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'property.push.url' in value "${property.push.url}"
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125) ~[spring-test-5.1.3.RELEASE.jar:5.1.3.RELEASE]
다음은 Application.properties 파일입니다.
server.port=8080
logging.level.org.springframework.web.servlet: DEBUG
spring.profiles.active=dev
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1
# = JPA / HIBERNATE
# ===============================
spring.jpa.properties.hibernate.generate_statistics=true
logging.level.org.hibernate.stat=debug
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.type=trace
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
# Naming strategy
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
다음은 Application-dev.properties입니다.
#DB settings
spring.datasource.url=jdbc:db2://localhost:60020/DB
#spring.datasource.url=jdbc:db2://10.10.10.10:60020/DB
use this for docker, if facing DNS resolution issue.
spring.datasource.driver-class-name=com.ibm.db2.jcc.DB2Driver
spring.datasource.username=root
spring.datasource.password=password
# Hibernate ddl auto (create, create-drop, update): with "create-drop" the database
# schema will be automatically created afresh for every start of application
spring.jpa.hibernate.ddl-auto=none
#schema setting for JPA
spring.jpa.properties.hibernate.default_schema=schema1
# Allows Hibernate to generate SQL optimized for a particular DBMS
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.DB2Dialect
# Show or not log for each sql query
spring.jpa.show-sql=true
# Scheduler properties
#======================
property.map={VROL:'http://localhost:8080/availability/statuszz', VDP:'http://localhost:8080/availability/statuszz'}
property.push.url=http://localhost:4242/write
나는 문제가 무엇인지 알아낼 수 없다. Maven 빌드가 실패하는 이유는 무엇입니까?
어떤 도움을 주셔서 감사합니다.
해결법
from https://stackoverflow.com/questions/55158409/error-creating-bean-in-spring-application-because-of-value by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] "보안 토큰 서비스 설명자에 키 설명자가 없습니다"라는 STS 참조 추가 오류가 발생합니다. (0) | 2019.05.23 |
---|---|
[SPRING] @ 클래스 객체 getter에 대한 조건부 표현식 (0) | 2019.05.23 |
[SPRING] 데이터 JPA. 예제 별 쿼리. Long 값을 사용하여 검색 할 수 없습니다. (0) | 2019.05.23 |
[SPRING] 이것은 무엇을 하는가 : @RunWith (SpringJUnit4ClassRunner.class) (0) | 2019.05.23 |
[SPRING] 디렉토리를 폴링 할 때 중복 된 Spring 통합 서비스 활성화를 방지하는 방법 (0) | 2019.05.23 |