Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 16470|Resposta: 0

[Fonte] Java annotations@PostConstruct explicações detalhadas e exemplos de @PreDestroy

[Copiar link]
Publicado em 04/04/2019 16:21:12 | | | |
Breve introdução

O Java EE5 introduz duas anotações, @PostConstruct e @PreDestroy, que atuam no ciclo de vida do servlet, permitindo operações personalizadas antes da inicialização do bean e antes de ser destruído. Este artigo explica principalmente @PostConstruct.

Instruções de Uso da API

A seguir estão as instruções para usar a API @PostConstruct:

Anotações PostConstruct são usadas em métodos que precisam ser executados após a conclusão da injeção de dependência para realizar qualquer inicialização. Esse método deve ser chamado antes de colocar a classe no serviço. Todas as classes que suportam injeção de dependência devem suportar essa anotação. Mesmo que a classe não solicite nenhuma injeção de recursos, o método anotado com PostConstruct deve ser chamado. Só existe uma maneira de anotar com essa anotação. O método para aplicar as anotações PostConstruct deve seguir todos os seguintes critérios: o método não deve ter parâmetros, exceto no caso de um interceptor EJB, conforme definido pela especificação EJB, caso em que ele virá com um objeto InvocationContext; O tipo de retorno do método deve ser nulo; O método não deve lançar uma exceção marcada; O método de aplicação do PostConstruct pode ser público, protegido, privado em pacotes ou privado; O método não pode ser estático, exceto para o cliente da aplicação; O método pode ser definitivo; Se o método lançar uma exceção não verificada, então a classe não deve ser colocada no serviço, a menos que seja um EJB que possa lidar com a exceção e recuperar dela.
Pode ser resumida da seguinte forma:

  • Só há uma forma de anotar com essa anotação;
  • O método anotado não deve ter nenhum parâmetro;
  • O método anotado retorna um valor de void;
  • O método anotado não deve lançar uma exceção chequeada;
  • O método anotado deve ser um método não estático;
  • Esse método é realizado apenas uma vez;


Fluxograma de execução de servlets

A adição de duas anotações permitirá apenas que o servlet execute o fluxograma:



Durante o processo de instanciação de um grão específico, o método anotado @PostConstruct é chamado após o método construto e antes do método init.

Exemplo

Métodos executáveis escritos com base no Spring boot podem ser encontrados no github:https://github.com/HappySecondBrother/example

Método UserService (fornece dados em cache):

Método BusinessService, chamando UserService por @PostConstruct:

Resultados da execução:

Aplicação do projeto

No project@PostConstruct o principal cenário de aplicação é carregar alguns dados de cache ao inicializar o servlet.

Notas:

O uso dessa anotação afeta o horário de início do serviço. O servidor escaneia todos os arquivos em WEB-INF/classes e todos os pacotes jar sob WEB-INF/lib na inicialização.





Anterior:Não é possível injetar @Autowired no Listener
Próximo:Mysql de alta performance 3ª edição em PDF chinês
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com