Nella Spring 4, utilizzando l'annotazione @Value, qual è il modo corretto per specificare una proprietà di sistema come predefinita se una proprietà specificata non esiste?Spring 4 @Value dove proprietà default è una proprietà di sistema java
considerando che lavora per il caso no-default:
@Value("${myapp.temp}")
private String tempDirectory;
questo non funziona quando ho bisogno di un default:
@Value("#{myapp.temp ?: systemProperties.java.io.tmpdir}")
private String tempDirectory;
Né questo:
@Value("#{myapp.temp ?: systemProperties(java.io.tmpdir)}")
private String tempDirectory;
Entrambe mi danno un'eccezione nel momento in cui Spring sta cercando di creare il bean:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'configurationService': Invocation of init method failed;
nested exception is java.lang.NullPointerException
Questo può essere fatto?
Come funziona? – chrylis
@chrylis - Spring genera un'eccezione quando si tenta di creare il bean. Ho modificato la domanda per essere più esplicita. –
Hai una "eccezione annidata", che presumibilmente ha informazioni utili. Pubblica la traccia * whole * stack. – chrylis