In una delle mie classi c'è un membro public static String
e ho bisogno di impostare questo valore nel applicationContext.xml
! Cioè, è possibile per noi iniettare un valore per questa proprietà statica?Iniezione di valori per le costanti statiche in primavera
risposta
Sì, c'è un esempio su questo link http://planproof-fool.blogspot.com/2010/03/spring-setting-static-fields.html
No, non è possibile iniettare un valore a un campo statico dal proprio contesto XML.
Se è possibile modificare la classe, sono disponibili le seguenti scelte semplici:
- rimuovere il modificatore static e aggiungono @ Inject/@ Autowire sopra il campo
- aggiungere un/setter metodo di costruzione/init.
Altrimenti, è possibile farlo con il supporto per la configurazione Java di Spring.
Un esempio:
La classe Demo con il campo statico e un metodo di JUnit che afferma che il contenitore Primavera inietta il valore desiderato nel campo statico:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("test-context.xml")
public class Demo {
public static String fieldOne;
@Test
public void testStaticField() {
assertEquals("test", fieldOne);
}
}
Aggiungere lo spazio dei nomi contesto al tuo applicationContext e il componente-scan elemento:
<context:component-scan base-package="com.example" />
Aggiungi il bean con il campo statico come il presente:
@Configuration
public class JavaConfig {
@Bean
public Demo demo() {
Demo.fieldOne = "test";
return new Demo();
}
}
In questo caso, la classe JavaConfig deve trovarsi nel pacchetto com.example come dichiarato nell'elemento component-scan.
- 1. Costanti statiche in C#
- 2. Il proguard funziona per offuscare le costanti di stringa statiche?
- 3. perché le costanti java sono dichiarate statiche?
- 4. Come definire le costanti statiche in un enum Java?
- 5. Iniezione di costanti tramite annotazione personalizzata
- 6. Imposta setCachePeriod per le risorse statiche nell'innesto di primavera
- 7. Primavera fagioli campi iniezione
- 8. Le costanti statiche della funzione in linea sono univoche?
- 9. Primavera iniezione di una statica Singleton (globale)
- 10. segnali Collegare le slot con valori costanti
- 11. Controllo versione Android e inlining di costanti finali statiche
- 12. Iniezione dipendenza primavera, per usare @Named o @Resource?
- 13. Iniezione dipendenza primavera: inserisce tutte le istanze dell'interfaccia
- 14. Enumerazioni Java rispetto a costanti statiche
- 15. Iniezione @Service finto per unità di primavera mette alla prova
- 16. Barattolo di iniezione e plug-in di origine primavera
- 17. AngularJS: costanti vs valori
- 18. Iniezione dipendenza primavera @Autowired senza setter
- 19. Come definire i valori costanti - Best Practice
- 20. Sovraccarico di costanti in Java
- 21. qual è il modo migliore per utilizzare le costanti dell'applicazione nella configurazione di primavera xml?
- 22. Convenzione di denominazione per le costanti Scala?
- 23. Come proteggere l'accesso alle risorse statiche in primavera
- 24. Iniezione di valori variabili in javascript e HAML in RoR
- 25. Dipendenza di primavera Iniezione di un Aspetto annotato
- 26. Leiningen: come definire le costanti in project.clj?
- 27. Iniezione test di primavera non funziona quando si utilizza TestExecutionListener
- 28. Costanti dinamiche in PHP?
- 29. Utilizzo di costanti come valori di funzione predefiniti in PHP
- 30. PowerShell supporta le costanti?