2015-07-15 4 views

risposta

4
@Autowired 
private ApplicationContext applicationContext;  
... 
this.applicationContext.getId(); 

prega, trovare questo:

# IDENTITY (ContextIdApplicationContextInitializer) 
spring.application.name= 
spring.application.index= 

In primavera Boot Reference Manual.

E seguire con il codice sorgente per questo ContextIdApplicationContextInitializer classe:

@Override 
public void initialize(ConfigurableApplicationContext applicationContext) { 
    applicationContext.setId(getApplicationId(applicationContext.getEnvironment())); 
} 

Dove il comportamento predefinito è con questo:

/** 
* Placeholder pattern to resolve for application name 
*/ 
private static final String NAME_PATTERN = "${vcap.application.name:${spring.application.name:${spring.config.name:application}}}"; 
13

Si dovrebbe essere in grado di utilizzare l'annotazione @Value di accedere a qualsiasi proprietà hai impostato un file proprietà/YAML:

@Value("${spring.application.name}") 
private String appName; 
+0

Questo funziona per application.yml/application.propert sì, ma non funziona per bootstrap.yml. C'è qualcosa che deve essere configurato? qualche annotazione, da qualche parte? – Mubin

+0

È possibile sovrascrivere 'spring.config.name' in" bootstrap "(il valore predefinito è" application ") o andare oltre specificando esplicitamente una configurazione diversa usando' spring.config.location'. –

Problemi correlati