¿Qué son el ioc y el aop de Spring?
Qué es IoC
Ioc-Inversión de
Control o "Inversión de Control" no es una tecnología, sino un concepto de diseño. En el desarrollo de Java, Ioc significa dar control del objeto de diseño al contenedor, en lugar del control directo tradicional dentro del objeto. ¿Cómo entender un buen COI? La clave para entender una buena COI es entender "quién controla a quién, qué se controla, por qué se invierte (debe haber reversiones positivas y negativas) y qué aspectos se invierten:
Qué controlar: en la programación Java tradicional
SE, pasamos directamente dentro del objeto.
En la programación Java tradicional
SE, pasamos directamente los objetos. creado a través de nuevos objetos internos, y el programa crea activamente objetos dependientes, y IoC es un contenedor especial para crear estos objetos, es decir, el contenedor Ioc controla la creación de objetos; IoC
Objeto de control del contenedor; ¿qué controla el contenedor? Es decir, controla principalmente la adquisición de recursos externos (no sólo objetos, como archivos, etc.).
¿Por qué deberíamos invertirlo? ¿Qué deberíamos invertir? Si hay una inversión, entonces hay una inversión en las aplicaciones tradicionales, controlamos los objetos para obtener dependencias directamente, es decir, invirtiendo el contenedor. ayudar a crear e inyectar dependencias; ¿por qué deberíamos invertirlo? Debido a que el contenedor nos ayuda a encontrar e inyectar dependencias, el objeto solo acepta dependencias pasivamente, por lo que está al revés; La recuperación de dependencia se invierte.
Qué puede hacer IoC
IoC no es una tecnología, es solo un concepto y una regla importante de la programación orientada a objetos. Nos guía sobre cómo diseñar de forma más flexible y poco acoplada. Buen programa. En las aplicaciones tradicionales, creamos activamente objetos dependientes dentro de las clases, lo que conduce a un alto grado de acoplamiento entre clases y es difícil de probar con el contenedor IoC, el control sobre la creación y búsqueda de objetos dependientes se transfiere a Dado el contenedor; el contenedor combina los objetos inyectados, por lo que los objetos están débilmente acoplados, lo que también facilita las pruebas, facilita la reutilización de funciones y, lo que es más importante, hace que toda la arquitectura del programa sea muy flexible.
De hecho, el mayor cambio que IoC aporta a la programación no proviene del código, sino del cambio de pensamiento "maestro-esclavo". La aplicación era originalmente la jefa y quería obtener qué recursos estaban activos, pero en el pensamiento de IoC/DI, la aplicación se convirtió en pasiva, esperando pasivamente a que el contenedor de IoC creara e inyectara los recursos que necesitaba.
IoC y DI
DI-Dependencia
Inyección: las dependencias entre componentes están determinadas por el contenedor de tiempo de ejecución. En sentido figurado, el contenedor inyecta dinámicamente las dependencias en los componentes. El propósito de la inyección de dependencia no es aportar más funciones al sistema de software, sino aumentar la frecuencia de reutilización de los componentes y construir una plataforma flexible y escalable para el sistema. A través del mecanismo de inyección de dependencia, solo necesitamos una configuración simple, sin ningún código, para especificar los recursos requeridos por el objetivo para completar su propia lógica de negocios, sin importar de dónde provienen los recursos específicos y quién los implementa.
Nota: para una comprensión más profunda de IoC y DI, consulte el artículo clásico del maestro Martin Fowler "Inversión de control
Contenedores e inyección de dependencia
Patrones 》.
AOP: Programación Orientada a Aspectos
Qué es AOP:
Concepto:
Concepto:
AOP es el concepto de programación orientada a aspectos (AOP).
El acrónimo de programación significa: programación orientada a aspectos, una tecnología que logra el mantenimiento unificado de las funciones del programa mediante precompilación y agentes dinámicos de tiempo de ejecución. AOP es la continuación de OOP, un punto importante en el desarrollo de software, un elemento importante del marco Spring y un derivado del paradigma de programación funcional.
El uso de AOP puede aislar varias partes de la lógica empresarial, reduciendo así el acoplamiento entre varias partes de la lógica empresarial, mejorando la reutilización del programa y mejorando la eficiencia del desarrollo. (Enciclopedia Baidu)
En pocas palabras: es extraer el código repetido en el programa y, cuando sea necesario ejecutarlo, utilizar tecnología de proxy dinámico para mejorar nuestro código existente sin modificar el código fuente. método.
Las funciones y ventajas de AOP:
Función: Por definición, mejora los métodos existentes sin modificar el código fuente durante la ejecución del programa.
Ventajas: reduce el envío repetido de código, alta eficiencia de desarrollo, fácil mantenimiento
Implementación: tecnología de proxy dinámico
Función específica: realiza transacciones, registros y módulo de seguridad control
Si quieres aprender a programar sistemáticamente, puedes venir a mí y echar un vistazo. ¡Espero poder ayudarte!