Domanda

Sono consapevole del fatto che l'ordine del carico di fagioli è implicitamente determinato dalle dipendenze e dalle dipendenze transitive.

Immagina di avere un insieme di fagioli annotati che ti forniscono una sorta di metadati che si desidera applicare a un altro set di contagiudi. Quindi, solo dopo aver raccolto tutti i metadati da n fagioli, solo dopo che è possibile postare elaborare i costi di conqueaggio. Tipicamente usi org.springframework.beans.factory.config.BeanPostProcessor per questo tipo di roba. Come affrontare l'ordine però? Penso che anche la configurazione di depends-on non prenda esplicitamente la precedenza sulle dipendenze da caricare l'ordine, giusto?

C'è un'interfaccia org.springframework.core.Ordered che determina solo l'ordine dei materiali di beanpostprocessori applicati, ma non l'ordine dei fagioli.

Potrei usare org.springframework.beans.factory.config.BeanFactoryPostProcessor ma la definizione del bean non ha informazioni sufficienti prima dell'istanza di fagioli. Ad esempio beanDef.getBeanClass() restituisce il nome della classe Bean, ecc.

è che qualsiasi altro modo potresti pensare a come fare ciò che voglio?

È stato utile?

Soluzione 2

L'ho risolto utilizzando org.springframework.beans.factory.config.BeanFactoryPostProcessor e caricamento delle classi di ClassLoader in modo che io possa usare la riflessione per prendere le annotazioni.Penso che non dovrebbe infrangere nulla perché in seguito quando la primavera è in primavera, la classifica delle classi di fagioli controlla se la classe è già caricata e in caso contrario non lo carica.Altrimenti lo carica.

Altri suggerimenti

Puoi:

a) Iniettare tutti i tuoi fagioli metadati nel tuo BeanPostProcessor.

b) Rendi il tuo postCenessore attivamente recuperare tutti i fagioli metadati dal contesto dell'applicazione all'avvio.

Ogni modo ha pro e contro, ma l'effetto è lo stesso: dopo la postcuzione BeanPostProcessor, ogni fagiolo di metadati verrà già postCostruito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top