Was ist das erwartete Verhalten von @PostConstruct in @Configuration-Klassen?

Sind wir wiederverwenden eines Projekts, definiert seine Bohnen mit spring java-config (mit @ - Konfiguration), und in einer solchen Klasse hat es eine @PostConstruct init-Methode.

Was ist das erwartete Verhalten hier - Wann wird diese Methode aufgerufen? In Bezug auf Bohnen, das ist. I. e. funktioniert diese Methode Verhalten sich genau so, als ob die configuration-Klasse ist eine bean (und ist es eigentlich eines?)

Was wir beobachten, ist, dass, je nach Betriebssystem, es kann aufgerufen werden, bevor die Bohnen, die @Autowired in die configuration-Klasse initialisiert werden, und somit endet die Arbeit mit unvollständigen Abhängigkeiten.

  • Nach dem Konstruktor, und nach dem Autowiring von Abhängigkeiten abgeschlossen ist.
  • Sie bemerkt Unterschiede dependending auf das Betriebssystem? Das ist ziemlich seltsam! Ich habe nicht auf irgendwelche solche Probleme, wenn ich @PostContstruct innen @Configuration. Immer, wenn ich verwendet, es war genannt nach autowiring durchgeführt wurde
  • ja - manchmal ist es aufgerufen wird, bevor die abhängigen beans initialisiert werden, manchmal nach.
  • Ich meinte in Bezug auf andere-Bohnen (ich aktualisierte die Frage)
  • +1 ich habe keine Ideen, da ich noch nie das problem aufgetreten ist, und somit nicht wiedergeben kann), aber das Thema ist sehr interessant!
  • in der Tat. Ich hatte noch nie dieses Problem mit regelmäßigen Bohnen, aber es ist das erste mal, dass ich mit java-config, und ich weiß nicht, Configuration-Klassen werden behandelt, wie Bohnen oder nicht.
  • Eine Idee wäre, zu Debuggen und zu sehen, wenn die entsprechende post-Prozessoren genannt werden (wahrscheinlich CommonAnnotationBeanPostProcessor und AutowiredAnnotationBeanPostProcessor)

InformationsquelleAutor Bozho | 2014-07-03
Schreibe einen Kommentar