O ciclo de vida do feijão da primavera tem inúmeras etapas, como inicialização, execução e destruição. Podemos executar nossa tarefa personalizada entre essas fases para testes/depuração ou outros fins de utilidade.
Por exemplo, Se queremos executar algumas tarefas no início do feijão e algumas tarefas relacionadas limpar no final, podemos fazer isso na inicialização do feijão ou antes de destruir o objeto Bean, respectivamente. Torna o aplicativo mais funcional e mais fácil de depurar também.
Para esse fim, a primavera fornece alguns predefinidos interfaces e anotações Isso facilita nossa tarefa. Existem duas maneiras de executar essas tarefas:
Primeiro, começamos com as interfaces e depois olhamos para as anotações.
Interfaces para Java Bean Lifecycle
A primavera tem duas interfaces, InicializandoBean e DescartávelBean, que contém vários métodos de utilidade para executar as tarefas durante o ciclo de vida do feijão.
Para executar a tarefa de inicialização, podemos usar Afterpropertiesset () Método do InicializandoBean Interface da mesma forma para os recursos de limpeza. Antes de destruir o objeto Bean, podemos usar o destruir() Método do DescartávelBean interface.
Vamos começar com exemplos de execução.
Implementando métodos de ciclo de vida usando interfaces
Nesse caso, primeiro, criamos um aplicativo de primavera baseado em Maven e depois criamos um funcionário de Bean. Esta classe de feijão implementa as duas interfaces que discutimos. Agora, devemos implementar seus métodos também.
O Afterpropertiesset () o método é usado para executar a tarefa de inicialização e o destruir() Método para executar a tarefa antes de destruir o objeto Bean. Veja o código -fonte da aula de feijão do funcionário.
// funcionário.Java
Esta é a classe principal em que instanciamos o feijão e chamamos seu método Getters and Setters.
// SpringApp.Java
pacote com.Linuxhint;// SpringConfig.Java
PackageCom.Linuxhint;// pom.xml
Este é o arquivo XML que contém todo o código de dependência para o aplicativo.
Execute o projeto
Depois de criar o projeto, é hora de executar o aplicativo para verificar se todos os arquivos estão funcionando bem e o aplicativo está funcionando como esperado. Este aplicativo imprime a seguinte saída na janela do console:
Saída:
Inicializando as tarefas realizadas…Perceber: Não chamamos os métodos do ciclo de vida, mas implicitamente chamados de recipiente de mola (COI).
Implementando métodos de ciclo de vida usando anotações
Esta é a abordagem moderna em que usamos as anotações no local de interfaces. Isso significa que não são necessárias mais interfaces para ser implementado pela classe Bean. Só precisamos marcar os métodos para chamar usando as anotações @PostConstruct e @predestroy.
A anotação @PostConstruct é chamada no tempo de inicialização, enquanto o @predestroy é chamado pouco antes de destruir o objeto Bean.
Observação: Antes de usar as anotações, devemos adicionar a seguinte dependência ao POM do nosso projeto.Arquivo XML.
Este pacote não está presente no pacote de primavera padrão. Então, para Java 9 e versões superiores, coloque esses frascos no POM.Arquivo XML:
A primavera não fornece nenhum método predefinante, como no caso da interface. Somos livres para criar qualquer método com qualquer nome. Só precisamos marcá -los com as anotações para especificar quando chamá -las pelo contêiner do COI.
Aqui, criamos o método initwork () para executar a tarefa no nível inicial e o método ENDWORK () para executar a tarefa antes de destruir o objeto Bean.
Atualize o Funcionário.Java Arquivo de acordo com o seguinte código -fonte:
// Funcionário.Java
Execute o projeto
Agora, execute o aplicativo novamente e verifique o console. A saída deve ser semelhante à saída anterior.
Inicializando as tarefas realizadas…