aprendizaje de la primavera (a, primavera solicitud de base)

Lo que es primavera

El resorte es una inversión de peso ligero de control (COI) y la sección de orientación (AOP) del marco contenedor.

La ventaja de marco resorte

1. Fácil de desacoplamiento, el desarrollo Simplificar: La primavera es una gran fábrica, puede crear y mantener la dependencia de Primavera logró obtener todos los objetos.

soporte de programación 2. AOP: Spring proporciona programación orientada a aspectos, se puede implementar fácilmente un programa permiso para interceptar, monitorear la operación y otras funciones.

3. Apoyo transacciones declarativas: sólo a través de la gestión de configuración para completar la transacción sin la necesidad de programación manual.

4. El programa de prueba sencilla: El resorte de apoyo junit4, se puede probar fácilmente el programa por el comentario de primavera.

La fácil integración de varios marco excelente: Spring no excluye una variedad de excelente marco de código abierto, que proporciona una variedad de excelente marco interno (struts2, hibernación, mybatis, cuarzo, etc.).

6. reducir la dificultad de usar API de Java EE: primavera para algunos API de desarrollo JavaEE es muy difícil de usar (JDBC, JavaMail, llamadas remotas, etc.), proporciona el envasado y reducir en gran medida la dificultad de utilizar estas aplicaciones API.

arquitectura de la primavera

Spring Framework utilizando una arquitectura en capas que comprende una serie de elementos funcionales, los módulos se dividen en aproximadamente 20, como se muestra:

 

1. Core Container (contenedor núcleo)

contenedor principal de la primavera es la base para otros módulos construidos por frijoles, Core (módulos básicos), Contexto (módulo de contexto), juego (módulos de lenguaje de expresión).

(1) Frijoles módulo: Proporciona BeanFactory, es que se consiguió un patrón de la fábrica clásico, primavera gestionará objetos llamados Bean.

(2) Core Módulo Core: proporciona componentes básicos tienen el marco Spring, incluyendo COI y la función DI.

módulo de contexto (3) Contexto: basado en el núcleo y Beans obtenidos basado en el módulo, que se define y configurado para acceder a los objetos de medios disponibles. Application Context interfaz es demasiado enfoque módulo de contexto.

(4) módulos SPEL: consultar y manipular objetos de dibujo era tan poderoso tiempo de ejecución de lenguaje de expresión.

2. Módulo de Web

Primavera Web capa obtenida comprende una banda, Servlet, Struts, portlets montaje.

(1) módulo Web: proporciona funciones integradas tienen un desarrollo web básica, como por ejemplo: la función de carga de varios archivos, el uso de servlet oyente demasiado inicialización contenedor y la aplicación Web contexto COI.

(2) Módulo de servlet: primavera Modelo - Vista - Controlador (MVC) implementar aplicaciones web.

(3) Puntales módulo: capa de tela puntales clásico contiene la aplicación tiene clases de apoyo de la primavera, se han integrado.

(4) de portlets Módulo: proporciona el uso de MVC implementa en un entorno de portlet, similar a las funciones del módulo Web-servlet.

3. Acceso a datos / Integración (Data Access / Integración)

Datos de la capa de acceso / integración incluye un ORM, OXM, JMS y transacciones módulo de JDBC.

módulo JDBC (1.): proporciona una capa de abstracción JDBC, reduciendo en gran medida el funcionamiento del código de la base de datos durante el desarrollo.

(2) ORM módulo: API Mapping comprende JPA, JDO, Hibernate y iBatis capa de integración ofrece un popular objeto-relacional.

(3) OXM módulo: que proporciona un mapeo objeto apoyo / xml lograr JAXB, Castor, utilizando XMLBeans, JiBX y XStream capa de abstracción.

(4) Módulo de JMS: se refiere al servicio de mensajes de Java, que contiene funciones para la producción y consumo de información.

(5) Las operaciones del módulo de transacción: soporte para la programación y gestión de transacciones declarativa para lograr clase de interfaz especial, y son aplicables a todos los POJO.

4. Otro módulo

(1) AOP módulo: se proporciona programación orientada a aspectos, el método permite que el punto de definición y los interceptores de partida, el código separó por función, para reducir el acoplamiento.

(2) los aspectos del módulo: proporciona integración AspectJ, es una programación orientada a aspectos marco poderoso y sofisticado (AOP).

(3) Instrumentación módulo: proporciona apoyo para la aplicación de la herramienta de la clase y cargador de clases puede ser utilizado en un servidor de aplicación específica.

(4) módulo de prueba: el apoyo _Spring_ montaje, uso o prueba de marco _jUnit_ _TestNG_.

COI contenedor de primavera

1. BeanFactory

BeanFactory es la base del tipo de contenedor COI, éste proporciona un soporte de servicio completo. Frijol BeanFactory es un proyecto de gestión, que es principalmente responsable de iniciar todo tipo de frijol, y llame a su enfoque de ciclo de vida. Interfaz BeanFactory tiene múltiples implementaciones, el más común es el de montar frijol basado en XML definiciones del archivo de configuración. Cuando se crea una instancia de BeanFactory, es necesario proporcionar información de configuración detallada gestionada por contenedor de primavera, dicha información por lo general en forma de un archivo XML para administrar la carga de información de la sintaxis de configuración es la siguiente :( Este método de desarrollo son raros aquí, como se puede entender)

BeanFactory BeanFactory = nuevo XmlBeanFactory ( nuevo FileSystemResource ( "F: /applicationContext.xml"));

2. Application Context

ApplicationContext BeanFactory es sub-interfaz, también conocido como el contexto de aplicación. No sólo proporciona todas las funciones de BeanFactory, sino también en un enfoque más orientado marco mejora la funcionalidad BeanFactory. Contexto principalmente en las clases de contexto y paquetes utilizando la relación de herencia jerárquica, de la siguiente manera:

(1) MessageSource, proporcionando acceso a mensaje i18n.

(2) el acceso a recursos, como archivos y URL.

(3) la entrega de sucesos para lograr la interfaz ApplicationListener bean.

(4) la carga de una pluralidad de clases (jerárquicas) de contexto, de modo que cada uno centrado en un contexto de un nivel de clase particular, tal como la capa de aplicación de la web.

Crear instancia de interfaz ApplicationContext, por lo general utilizando dos métodos, como sigue:

(1) ClassPathXmlApplicationContext: la información del contexto de carga de clase desde el archivo XML trayectoria definida, según el contexto de los recursos de trayectoria archivo de definición de clase.

ApplicationContext applicationContext = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

(2) FileSystemXmlApplicationContext: archivo XML desde el sistema de archivos (la ruta especificada) cargar la información de definición de contexto.

ApplicationContext applicationContext = nuevo FileSystemXmlApplicationContext ( "F: \\ espacios de trabajo \\ src \\ applicationContext.xml");

Después de BeanFactory y ApplicationContext se cargan a través de archivos de configuración de frijol XML, por el contrario, ApplicationContext ofrece más extensiones, la principal ventaja de carga lenta, si no se atribuyen la inyección de la haba se utiliza BeanFactory cargado, en el método primera getBean llamada () lanza una excepción, mientras que el Application Context en el auto-test de inicialización, lo que ayudará a comprobar si la inyección propiedad de dependencia. Por lo tanto, en el desarrollo real, el sistema suele optar por utilizar Application Context, pero sólo cuando hay menos recursos del sistema antes de considerar el uso de BeanFactory.

inyección de dependencia

Puede entenderse: Si se requiere un objeto Un objeto B para conseguir una determinada función, entonces se puede decir que el objeto A depende del objeto B, contenedor Una primavera cuando se crea un objeto, tendrá automáticamente el objeto de tener la inyección de destino B A Un objeto de este proceso es la inyección de dependencia. se obtiene Dependencia efecto de inyección cuando se crea el objeto con el marco de la primavera, que depende dinámicamente componente haba obtenido se inyecta en el sujeto.

La inyección de dependencia de las tres formas

inyección de setter (1.): medios para método setter usando COI instancia del contenedor es la inyección dependiente. Llamando al constructor sin argumentos o sin argumentos método de fábrica estática instancia haba, haba del método setter se llama, el armador se puede realizar sobre la base de DI.

(2) inyección Constructor: El método se refiere a la COI configurado para utilizar una instancia del contenedor es la inyección dependiente. DI a base de Constructor se consigue mediante una llamada al constructor con parámetros, cada uno representando una dependencia.

(3) de inyección de interfaz: recipiente resorte no soporta la inyección interfaz.

 

 

 

 

 

 

 

referencia:

1. Marco SSH para integrar tutorial de combate

Se actualiza continuamente! ! !

Supongo que te gusta

Origin www.cnblogs.com/flyinghome/p/12550331.html
Recomendado
Clasificación