2017-09-15 1 views
1

나는이 값으로 봄 부팅 설정 파일이 주조 :SpringBoot : EL1003E 속성 값은

@Value("#{new Integer('${db.pool.size}')}") 
private Integer dbPoolSize; 

@Value("#{new Integer('${db.minimum.idle}')}") 
private Integer dbMinimumIdle; 

을하지만 나는이 오류가있어 응용 프로그램을 시작할 때 :

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1003E: A problem occurred whilst attempting to construct an object of type 'Integer' using arguments '(java.lang.String)' 
    at org.springframework.expression.spel.ast.ConstructorReference.createNewInstance(ConstructorReference.java:168) ~[spring-expression-4.3.6.RELEASE.jar:4.3.6.RELEASE] 
    at org.springframework.expression.spel.ast.ConstructorReference.getValueInternal(ConstructorReference.java:98) ~[spring-expression-4.3.6.RELEASE.jar:4.3.6.RELEASE] 
    at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:120) ~[spring-expression-4.3.6.RELEASE.jar:4.3.6.RELEASE] 
    at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:242) ~[spring-expression-4.3.6.RELEASE.jar:4.3.6.RELEASE] 
    at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:161) ~[spring-context-4.3.6.RELEASE.jar:4.3.6.RELEASE] 
    ... 42 common frames omitted 

답변

1

를 그냥 사용

@Value("${db.minimum.idle}") 
private Integer dbMinimumIdle; 

spel을 사용하여 새 정수를 명시 적으로 인스턴스화 할 필요가 없습니다.

방금과 같이해야 그 다음
db.minimum.idle=12 
db.pool.size=10 

: 당신은 새로운 정수를 만들 필요가 없습니다

@Value("${db.pool.size}") 
private Integer dbPoolSize; 

@Value("${db.minimum.idle}") 
private Integer dbMinimumIdle; 

, 즉이 automacally에 의해 이루어집니다

2

하면 다음 application.properties이 상상 봄