Contenedor Spring 6.X IoC

1. Introducción al contenedor y los beans de Spring IoC

A continuación se presenta principalmente la implementación del principio de inversión de control (IoC) en el marco Spring.

  • Lo primero a tener en cuenta es: IoC también se llama inyección de dependencia, que es un proceso.

  • En segundo lugar, la definición de dependencias: los objetos definen sus dependencias (es decir, otros objetos que usan) solo a través de parámetros del constructor, parámetros de métodos de fábrica o propiedades establecidas en la instancia del objeto después de que la instancia del objeto se construye o devuelve desde el método de fábrica.

  • Inyección de dependencia: el contenedor inyecta las dependencias de los dos primeros pasos al crear el bean. Este proceso es esencialmente el inverso del propio bean (de ahí el nombre "inversión de control"), controlando la instanciación o ubicación de sus dependencias mediante el uso de la construcción directa de la clase o un mecanismo como el patrón de localización de servicios.

  • Paquetes involucrados: org.springframework.beansSpring org.springframework.contextFramework es la base del contenedor IoC. La interfaz BeanFactory proporciona un mecanismo de configuración avanzado que puede administrar cualquier tipo de objeto. ApplicationContext es una subinterfaz de BeanFactory. Proporciona una integración más sencilla con la funcionalidad AOP de Spring, manejo de recursos de mensajes (para internacionalización), publicación de actividades, contextos específicos de la capa de aplicación, como: contexto WebApplicationContext para aplicaciones web.

    En resumen, BeanFactory proporciona el marco de configuración y la funcionalidad básica, y ApplicationContext agrega más funcionalidades específicas de la empresa.

  • Bean: BeanFactory En Spring, los objetos que forman la columna vertebral de la aplicación y son administrados por el contenedor Spring IoC se denominan beans. Un bean es un objeto instanciado, ensamblado y administrado por el contenedor Spring IoC. Si no lo gestiona IoC, un bean es sólo uno de los muchos objetos de la aplicación. Los beans y las dependencias entre ellos se reflejan en los metadatos de configuración utilizados por el contenedor.

1.1 Descripción general del contenedor


  • La interfaz principal del contenedor Spring IoC es la interfaz ApplicationContext org.springframework.context.ApplicationContext, que es responsable de crear instancias, configurar y ensamblar beans. Los contenedores obtienen instrucciones sobre qué objetos crear instancias, configurar y ensamblar leyendo los metadatos de configuración. Los metadatos de configuración se expresan en XML, anotaciones Java o código Java. Permite que los objetos de una aplicación y las ricas interdependencias entre esos objetos

  • ApplicationContextSpring
    ApplicationContextSpring proporciona múltiples implementaciones de la interfaz ApplicationContext. En aplicaciones independientes, es común crear instancias de ClassPathXmlApplicationContext o FileSystemXmlApplicationContext. Aunque XML es el formato tradicional para definir metadatos de configuración, la compatibilidad con estos formatos de metadatos adicionales se puede habilitar de forma declarativa proporcionando una pequeña cantidad de configuración XML para indicar al contenedor que utilice anotaciones o código Java como formato de metadatos.

  • Creación de instancias
    En la mayoría de los escenarios de aplicaciones, no se requiere ningún código de usuario explícito para crear instancias de una o más instancias del contenedor Spring IoC.

  • Las clases de aplicación de la vista de trabajo
    se combinan con metadatos de configuración para que, después de crear e inicializar ApplicationContext, tenga un sistema o aplicación completamente configurado y ejecutable.

Insertar descripción de la imagen aquí

1.3 Uso

ApplicationContext es una interfaz para una fábrica de alto nivel que mantiene un registro de diferentes beans y sus dependencias. Se puede recuperar una instancia de un bean utilizando el método T getBean(nombre de cadena, tipo requerido de clase T).

// 创建并配置bean
ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");

//检索配置的实例
PetStoreService service = context.getBean("petStore", PetStoreService.class);

//使用配置的实例
List<String> userList = service.getUsernameList();

Supongo que te gusta

Origin blog.csdn.net/qq_35241329/article/details/132272571
Recomendado
Clasificación