Tengo la clase MyModel.java y la estoy construyendo usando @PostConstruct .
@ConfigurationProperties(prefix = "test") public static class MyModel extends Model { @PostConstruct private void postConstruct() { } }Ahora quiero llamar a un método de la clase Model (contiene el campo y el setter getter) y digo:
сlass Model { .... //fields and getter setter public void testValues(){ } } Ahora quiero llamar a testValues() en @PostContruct .
¿Cómo puedo llamarlo?
Como parte del ciclo de vida del bean Spring, afterPropertiesSet() se llamará después del método @PostConstruct , puede mirar aquí , para que pueda usar afterPropertiesSet() para llamar a testValues() como se muestra a continuación:
Clase MiModelo:
public class MyModel extends Model implements InitializingBean { @PostConstruct private void postConstruct() { //set your values here } @Override public void afterPropertiesSet() { testValues(); } }He agregado las notas a continuación del enlace sobre el ciclo de vida de Spring Bean:
Múltiples mecanismos de ciclo de vida configurados para el mismo bean, con diferentes métodos de inicialización, se llaman de la siguiente manera (el énfasis es mío):
Métodos anotados con @PostConstruct (llamado primero)
afterPropertiesSet() según lo definido por la interfaz de devolución de llamada InitializingBean (llamada después del método @PostConstruct)
método init() configurado personalizado (llamado después del método afterPropertiesSet)