2009-10-16 25 views
5

Sto avendo un problema quando si cerca di creare i fagioli da un contesto di primavera applicazione all'interno di un chicco di un'istanza entro la primavera utilizzando argomenti del costruttore.Contesto Applicazione di Spring disponibile all'interno del costruttore

ho implementato l'interfaccia ApplicationContextAware ma popola contesto dopo l'istanza viene creata (ovvio).

Ma allora, se avete bisogno di ottenere i fagioli dal costruttore, e sto parlando di un numero variabile di oggetti definiti in fase di esecuzione, quale sarebbe il modo corretto di procedere?

risposta

5

In bean instanciato da Spring, invece di inizializzarlo in Constructor, inizializzarlo in un metodo dedicato, contrassegnato come "metodo init" per Spring.

si hanno circa lo stesso effetto di inizializzazione nel costruttore, ma si utilizza il ciclo di vita della molla corretta.

+2

In alternativa, implementare 'InitializingBean' o utilizzare il' @ PostConstruct' annotazione. – skaffman

3

È possibile rendere il contesto accessibile dal costruttore sfruttare programmazione orientata agli aspetti. Spring ha un supporto speciale per questo - @Configurable (preConstruction = true).

Sentitevi liberi di saperne di più su che al riferimento di primavera - 6.8.1. Using AspectJ to dependency inject domain objects with Spring

Problemi correlati