El marco básico de primavera

inyección de dependencia

DI inversión mismo que el significado de control (COI), pero este es el mismo concepto llamado dos desde dos ángulos descritos.

COI

Después de usar el marco Spring, ya no es una instancia de objeto es creado por la persona que llama, pero para crear un contenedor Spring, contenedores resorte será responsable de las relaciones entre el control del proceso, en lugar de código directamente controlada por el programa que llama. Dicho control se transfiere al recipiente de la primavera, la inversión de control se llevó a cabo, esta es la inversión de control.

DE

Desde la perspectiva de la primavera punto de vista recipiente, contenedor del resorte será responsable de objetos dependientes asignados a las variables miembro de la persona que llama, que es equivalente a inyectar una instancia del mismo depende de la persona que llama, esto es la inyección de dependencia de primavera

frijol en alcance

Aquí Insertar imagen Descripción
¿Qué Singleton y el prototipo son los dos más comunes alcance (scope)

único

recipiente singleton primavera es el ámbito predeterminado. Cuando la haba de alcance para Singleton, contenedor del resorte sólo existirá ejemplo haba de una cuota. En este papel bajo, la primavera puede saber con precisión cuando se crea el Bean, cuando se completa la inicialización, y cuando fue destruida.

prototipo

La necesidad de mantener el estado de sesión frijol debe utilizar el prototipo. Cuando se utiliza el alcance prototipo, contenedor de primavera tendrá que crear una nueva instancia para cada instancia del Bean. Ejemplos de Bean en el código de cliente para gestionar, contenedor primavera ya no realizar un seguimiento de su ciclo de vida.

ciclo de vida de BeanAquí Insertar imagen Descripción

Primavera anotación comúnmente usados

@Component: Spring haba se utiliza para describir, es una generalización del concepto, representan sólo un componente
@Repository: para la identificación de la clase de capa de acceso de datos (DAO) de la haba de Spirng
@Service: para el tráfico capa tipo se denota como el S día de la semana de la haba gabinete
@Controller: para la capa de control de categoría (Controller) identificado como en la primavera de Bean.
@Autowired: haba por variables de las propiedades, los métodos setter propiedad de método y de estructura para el etiquetado, con el procesador correspondiente a la obra anotación hecho configurar automáticamente el Bean.
@Resource: función y Autowired la misma. @Resource Hay dos atributos importantes: nombre y tipo. La primavera se resolverá al nombre de atributo nombre de la instancia de la haba, escriba resuelve atribuir al tipo de instancia Bean.
@Qualifier: conjunción @Autowired con la anotación, será por defecto como modificada mediante el ajuste de la haba de tipo grano de montaje nombre de instancia, el nombre de la instancia del bean @Qualifier anotación especificado por los parámetros.

primavera AOP

AOP

Programación Orientada, las entradas de registro, gestión de transacciones, y similares separado del código de operación de negocios.
1.Pointcut: punto de la secuencia de proceso de intersección, corte es decir, un punto de conexión que necesitan ser abordados
2.Aspect: paquete para insertar lateralmente las funciones del sistema (por ejemplo, registro de transacciones, etc.) clases
3.Joinpoint: durante la ejecución del programa de un punto de tangencia
4.Proxy (agente): después de la notificación al objeto de destino se crea dinámicamente objetos
5.Weaving (tejidos): el código de sección en un objeto de destino, un proceso para generar un objeto proxy

proxies dinámicos JDK

JDK proxy dinámico se logra por clase java.lang.reflect.Proxy, podemos llamar al método de clase newProxyInstance Proxy () para crear un objeto proxy. Para utilizar el interfaz de clase de negocios, Primavera utilizará los proxies dinámicos JDK por defecto para implementar AOP.
El objeto de destino debe implementar la interfaz apropiada

agente CGLIB

CGLIB (Biblioteca de generación de código) es un generador de código fuente abierto de alta paquete de rendimiento, que utiliza parte inferior de la tecnología de código de bytes para generar una subclase de la clase de destino especificado y subclase mejorada.

soporte de muelle para las transacciones

En el desarrollo real, la operación de base de datos implicará la gestión de los asuntos, pretende proporcionar una API especial para el procesamiento de transacciones de primavera.

flujo de trabajo Spring MVC

Aquí Insertar imagen Descripción
1. El usuario envía una petición al servidor a través del navegador, la solicitud es interceptado Spring MVC controlador frontal DispathcerServlet;
después 2.DispatcherServlet interceptar la petición, llama al procesador mapper HandlerMapping
3. El procesador de acuerdo con la asignación de petición de URL para localizar específica un procesador, un procesador de objeto, y un procesador genera bloqueador (si se genera cualquier) devuelven colectivamente al DispatcherServlet
4.DispatcherServlet selecciona la HandlerAdapter apropiado es (adaptador de procesador) por la información de regresar;
5.HandlerAdapter Handler serán invocadas y ejecutados ( procesador), donde los medios de procesador es un controlador de programa escrito
clase, también conocido como el extremo posterior del controlador;
después 6.Controller ejecutado, devuelve un objeto ModelAndView que contendrá el nombre de la vista o una nombre de la vista y el modelo;
objeto 7.HandlerAdapter ModelAndView se devuelve al DispatcherServlet;
8.DispatcherServlet elegirá una ViewReslover (vista solucionador) adecuada según objeto ModelAndView;
después 9.ViewReslover resuelve, devuelve la vista específica (ver) en el DispatcherServlet ;
10.DispatcherServ Ver dejó a render (datos del modelo que viene lleno de vista);
11. La vista renderizado resultados se devuelven al navegador del cliente.

MVC anotación comúnmente usados

@RequestMapping
Aquí Insertar imagen Descripción

el enlace de datos MVC

solicitudes Spring MVC de acuerdo con diferentes parámetros del cliente, el mensaje de solicitud de información se convierte en una manera y para enlazar los parámetros del método de clase controlador. parámetros de un tal mensaje de solicitud de datos y un método de fondo durante datos de establecimiento de la conexión se une en la primavera de MVC

Simple enlace de datos

El tipo de datos predeterminado de unión
HttpServletRequest: la adquisición de información de petición por el objeto de solicitud;
la HttpServletResponse: información de respuesta en respuesta al tratamiento;
la HttpSession: para dar el objeto almacenado en la sesión objeto de sesión;
el Modelo / a ModelMap: el modelo es una interfaz, un ModelMap una interfaz, modelo se llena los campos de datos de la solicitud

@RequestMapping("/getDataByRedirect") 
public String getdataByRedirect(HttpServletRequest request, HttpServletResponse response) throws IOException { return "redirect:getData"; }

Encuadernación tipos de datos simples
tipos de datos simples de la unión, se refiere a varios tipos de datos básicos en enlaces Java, como el tipo int, String, doble y así sucesivamente.

简单数据绑定 @RequestMapping("/selcetUSer2") 
public String selectUser(Integer id){ 
System.out.println("id:"+id); return "success"; 
}

Si el nombre de parámetro en los nombres de clase controlador de parámetros solicitud frontal y posterior no son el mismo proceso, esto conduce al fondo y no se puede unir recibido correctamente
parámetro de solicitud distal. Considere el uso de Spring MVC tipos de anotación @RequestParam para proporcionar el enlace de datos indirectos.
Aquí Insertar imagen Descripción
interacción Josn
Aquí Insertar imagen Descripción

Publicado 24 artículos originales · ganado elogios 1 · visitas 551

Supongo que te gusta

Origin blog.csdn.net/qq_45366515/article/details/105093865
Recomendado
Clasificación