¿Cuáles son los puntos clave del uso del marco Java?
Con el desarrollo continuo de Internet, el desarrollo de la programación Java sigue siendo el lenguaje de desarrollo de programación principal en la industria actual de Internet. Hoy usaremos un caso para comprender los puntos clave del uso del marco Java.
Introducción a los requisitos
Puede utilizar anotaciones para marcar clases como componentes y escanear automáticamente la ruta del paquete para identificar las clases de componentes.
Obtenga información de anotaciones y registre clases de componentes en el contenedor para acceder a ellas posteriormente.
Resolver dependencias entre componentes, inicializar clases de componentes e inyectar dependencias relacionadas.
Obtenga la instancia de la clase del componente del contenedor y llame al método correspondiente normalmente.
Marco del proyecto
El proyecto completo se divide aproximadamente en los siguientes paquetes:
El paquete de anotaciones define algunas anotaciones requeridas por el contenedor, como Componente y Servicio. y otras anotaciones.
El paquete contenedor es la implementación principal del contenedor y es responsable de manejar funciones relacionadas con el contenedor, como la inyección de dependencia.
El paquete de contexto define el entorno de contexto y es responsable de procesos como el escaneo de componentes y la resolución de dependencias.
El paquete de excepciones define las excepciones requeridas por el proyecto.
El paquete de proxy define dos métodos de proxy dinámico, uno es el proxy dinámico implementado por Jdk y el otro es el método CGlib.
El paquete utils define algunas clases de utilidades.
Escaneo de anotaciones
Después de completar la definición de las anotaciones relevantes, es necesario escanear las clases marcadas con @Component y otras anotaciones para el siguiente paso.
Todo el proceso de escaneo es en realidad escanear clases. Fok Yingdong NLT
cree que la ruta de clase se puede escanear a través del ClassLoader de Java para cargar la clase en una colección. Parte del código para este proceso es el siguiente y el código completo se puede ver en ReflectUtil en el paquete utils.
Implementación de contenedores
Los contenedores pueden considerarse como una de las funciones principales de la inyección de dependencia. Los contenedores son la gestión de todos los componentes y básicamente todas las funciones giran en torno a los contenedores.