Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 16470|Respuesta: 0

[Fuente] Java annotations@PostConstruct explicaciones detalladas y ejemplos de @PreDestroy

[Copiar enlace]
Publicado en 4/4/2019 16:21:12 | | | |
Breve introducción

Java EE5 introduce dos anotaciones, @PostConstruct y @PreDestroy, que actúan sobre el ciclo de vida del servlet, permitiendo operaciones personalizadas antes de que el bean se inicialice y antes de que sea destruido. Este artículo explica principalmente @PostConstruct.

Instrucciones de uso de la API

Las siguientes son las instrucciones para usar la API @PostConstruct:

Las anotaciones PostConstruct se utilizan en métodos que deben ejecutarse una vez completada la inyección de dependencias para realizar cualquier inicialización. Este método debe llamarse antes de poner la clase en servicio. Todas las clases que soportan la inyección de dependencias deben soportar esta anotación. Aunque la clase no solicite ninguna inyección de recursos, se debe llamar al método anotado con PostConstruct. Solo hay una forma de anotar con esta anotación. El método para aplicar las anotaciones PostConstruct debe cumplir con todos los siguientes criterios: el método no debe tener ningún parámetro a menos que, en el caso de un interceptor EJB, según lo definido por la especificación EJB, en cuyo caso vendrá con un objeto InvocationContext; El tipo de retorno del método debe ser nulo; El método no debe lanzar una excepción comprobada; El método de aplicación de PostConstruct puede ser público, protegido, empaquetado privado o privado; El método no puede ser estático excepto para el cliente de aplicación; El método puede ser definitivo; Si el método lanza una excepción no comprobada, entonces la clase no debe colocarse en el servicio a menos que sea un EJB que pueda manejar la excepción y recuperarse de ella.
Se puede resumir de la siguiente manera:

  • Solo hay una forma de anotar con esta anotación;
  • El método anotado no debe tener ningún parámetro;
  • El método anotado devuelve un valor de vacío;
  • El método anotado no debe lanzar una excepción comprobada;
  • El método anotado debe ser un método no estático;
  • Este método solo se realiza una vez;


Diagrama de flujo de ejecución de servlets

La adición de dos anotaciones solo permitirá al servlet ejecutar el diagrama de flujo:



Durante el proceso de instanciación de un grano específico, el método anotado @PostConstruct se denomina después del método construct y antes del método init.

Ejemplo

En github se pueden encontrar métodos ejecutables escritos basados en Spring Boot:https://github.com/HappySecondBrother/example

Método UserService (proporciona datos en caché):

Método BusinessService, llamando a UserService por @PostConstruct:

Resultados de ejecución:

Aplicación del proyecto

En el project@PostConstruct el escenario principal de aplicación es cargar algunos datos de caché al inicializar el servlet.

Notas:

El uso de esta anotación afecta la hora de inicio del servicio. El servidor escanea todos los archivos en WEB-INF/classes y todos los paquetes jar bajo WEB-INF/lib al inicio.





Anterior:No se puede inyectar @Autowired en Listener
Próximo:PDF chino Mysql de alto rendimiento 3ª edición
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com