visual vertical uiswing tutorial setborder layouts javase fillers docs crear con borde java spring

vertical - swing fillers java



¿Cuál es el comportamiento esperado de @PostConstruct en las clases @Configuration? (1)

Estamos reutilizando un proyecto que define sus beans con spring java-config (usando @Configuration), y en una de esas clases tiene un método init @PostConstruct .

¿Cuál es el comportamiento esperado aquí? ¿Cuándo se invoca este método? En lo que respecta a los frijoles, eso es. Es decir, ¿este método se comporta exactamente como si la clase de configuración fuera un frijol (y en realidad es uno?)

Lo que observamos es que, dependiendo del sistema operativo, se puede invocar antes de que los beans que están @Autowired en la clase de configuración se inicialicen y, por lo tanto, termine trabajando con dependencias incompletas.


Incluso para @Configuration , @PostConstruct comporta como se esperaba: se invoca después de que se hayan inyectado las dependencias de la clase. Aunque esto es un poco confuso (junto con el hecho de que @Configuration clases @Configuration son beans), es correcto.

El problema en cuestión era una dependencia circular oculta introducida con la ayuda de spring-security-oauth: es un conjunto intrincado de configuraciones que está más allá del alcance de esta discusión.

Entonces, se puede invocar a @PostConstruct si los beans dependientes no se inicializan completamente solo en caso de dependencias circulares. Si las dependencias se suministran a través de setter o inyección de campo, la dependencia circular no se informa, y ​​en su lugar se usan beans incompletos.

También algo a tener en cuenta aquí es que parece que el manejo de dependencia circular depende del sistema operativo (lo que significa algunas diferencias JVM o JRE).