base de marco SSM

Directorio artículo

  1. Lo que se perfila COI y DI?

  2. DI es cómo lograr?

  3. Explicar lo AOP (Programación Orientada a Aspectos)?

  4. Resorte del marco de la haba describe el ciclo de vida?

  5. ¿Cuál es el principio de la primavera AOP está dentro?

  6. La primavera se utiliza principalmente qué modelo?

  7. La primavera se indica en la transacción?

  8. ¿Cuál es el núcleo SpringMVC que el proceso de solicitud es cómo hacer frente a?

  9. Hay MyBatis por escrito utilizando el marcador de posición # y $ ¿Cuál es la diferencia?
    10.Mybatis beneficios?
    11. Descripción de caché mybatis y la memoria caché secundaria?
    El SQL dinámico 12.MyBatis ¿Qué significa?
    13.Mybatis funciona Breve

  10. Lo que se perfila COI y DI? `` `
    IoC llamado inversión de control, es Inversión de Control, abreviada, DI (inyección de dependencias) llamado inyección de dependencia, la COI es la interpretación más simple.
    La inversión derecho de control de llamada es tradicionalmente controlado por el código objeto del programa directamente al recipiente, y el conjunto se consigue a través del objeto de gestión de contenedores de montaje. El llamado "Inversión de Control", es decir, la transferencia del control de la objetos componentes, se transfirió desde el código de programa en sí mismo a la parte exterior del contenedor, el contenedor para crear objetos y gestionar las dependencias entre objetos.
    COI encarna el principio de Hollywood - "No me llames, que le llamaremos". El principio básico es que los componentes de la aplicación de inyección de dependencias no deben ser responsables de la búsqueda de recursos o cualquier otro objeto de colaboración depende. el trabajo objeto de configuración debe ser responsabilidad de la embarcación, la lógica debe buscar recursos extraídos de los componentes de la aplicación del código, el contenedor que se haga.
    DI es una descripción más precisa de la COI, dependencias es decir, entre los componentes en tiempo de ejecución determinados por el recipiente, para la imagen, es decir, la inyección de una cierta dependencia del recipiente en el componente dinámico.


2. DI 是如何实现的?

inyección ① Dependencia de inyección (valor de ajuste de la inyección) mediante el método setter

1.
inyección ② constructor: inicializado por el constructor

. 1
inyección ③ interfaz de tres formas de lograr
la inyección de inyección de apoyo constructor y setter Spring, la inyección generalmente se configura para inyectar el necesario dependencia para dependencias opcionales, que es una mejor inyección de setter opción, los parámetros de inyección de setter y sin la necesidad de proporcionar constructor de la clase sin argumentos o método de fábrica estática para crear el objeto.
Resumen :: COI para resolver las dependencias entre objetos, todas las dependencias de la haba través de archivos de configuración o anotaciones asociado, reduciendo el grado de acoplamiento.


3. 解释一下什么叫 AOP (面向切面编程)?

`AOP(Aspect-Oriented Programming)指一种程序设计范型,该范型以一种称为切面(aspect)的语言构造为基础,切面是一种新的模块化机制,用来描述分散在对象、类或方法中的横切关注点(crosscutting concern)`。
4. 阐述 Spring 框架中 Bean 的生命周期?

① contenedor IoC primavera para encontrar la definición de Bean y una instancia del Bean.
recipiente ② primavera COI para la inyección de dependencia Bean.
implementos ③ Si BeanNameAware haba de la interfaz, entonces el método setBeanName haba de pasar el Id.
④ Si los implementos de haba BeanFactoryAware interfaz BeanFactory objeto a la setBeanFactory
método.
⑤ Si el Bean implementa la interfaz BeanPostProcessor, se llama
método postProcessBeforeInitialization.
⑥ Si el Bean implementa la interfaz InitializingBean, que afterPropertySet llamada al método.
⑦ Si hay un BeanPostProcessors asociados y objeto Bean, postProcessAfterInitialization de estos objetos se llama.
⑧ Cuando la destrucción ejemplo Bean, si el bean implementa la interfaz DisposableBean, que destruyen llamada al método.


5. Spring 里面的 aop的原理是什么 ?

tecnología de implementación AOP, dividido en dos categorías: una es la tecnología de agente dinámico, el uso de la forma de realización interceptado mensaje, el mensaje decorado, en lugar de realizar el comportamiento objeto original; segunda forma de tejer estática, la introducción de una sintaxis específica para crear "aspecto", de modo que el compilador puede ser tejida en el código relacionado con "aspecto" durante la compilación. Crear un objeto proxy dinámico a través de la reflexión, se ejecuta el método de intercepción en un código que necesita para llevar a cabo la ejecución adicional del tapón por venir.


6. Spring主要使用了什么模式?

modo de fábrica: cada grano es creado por el método del
patrón Singleton: El valor por defecto para cada alcances de frijol son casos individuales de
modo de proxy: Sobre Aop lograr a través de un modo de proxy


7. 简述Spring 中的事务 ?

① gestión programática de transacciones: gestión de transacciones programática, una gran flexibilidad, difícil de mantener.
② gestión de transacciones declarativa: código de servicio y gestión de transacciones se pueden separar, con anotaciones y XML configurados para gestionar las transacciones.


8. SpringMVC的核心是什么,请求的流程是怎么处理的 ?

SpringMVC marco de control servlet se basa en el extremo frontal, el núcleo es COI y AOP (implementación basada en primavera)

Complemento patrón de cerebro de unión procesa la memoria petición

1, el cliente envía una solicitud HTTP al servidor web, el servidor web para analizar la petición HTTP, si la solicitud coincide con el mapa ruta DispatcherServlet (especificado en web.xml), la solicitud de la embarcación DispatcherServlet web.

2, después de recibir la solicitud DipatcherServlet La solicitud de información (incluyendo la URL, HTTP método, el encabezado de la solicitud y parámetros de la petición de la galleta, etc.) y se encontró solicitud de configuración procesador HandlerMapping (Handler).

3-4, DispatcherServlet HandlerMapping de acuerdo para encontrar el Handler correspondiente, a la discreción Handler (Handler encapsula el procesamiento específico), y luego el específico Handler llamada por el HandlerAdapter particular.

5, después de la finalización de los datos de procesamiento de Handler devuelve un objeto ModelAndView () a la DispatcherServlet.

6, Handler regresó ModelAndView () es sólo un punto de vista lógico no es un punto de vista oficial, DispatcherSevlet por ViewResolver la vista lógica a la vista real de Vista.

7, Dispatcher por modelo analiza los parámetros () en el análisis ModelAndView último espectáculo visión completa y devuelto al cliente.


9. MyBatis 中使用 # 和 $ 书写占位符有什么区别 ?

① # datos de entrada como una cadena, los datos entrantes se añadirá automáticamente citas
② mostrar datos entrantes $ SQL generada directamente.
Nota: El uso $ marcador de posición podría conducir a ataques de inyección SQL, el lugar puede ser, no utilice $ #, escriba la orden por la cláusula cuando se debe utilizar en su lugar $ #.


10.Mybatis的好处 ?

① SQL declaraciones independencia de Java.
② encapsula el JDBC, al final de la llamada a la API, y el resultado se puede configurar para convertir automáticamente el JavaBean, programación Java simplificar la duplicación de bases de datos de trabajo.
③ escribir su propia instrucción SQL, más flexible.
④ sin utilizar los encapsulados de objeto de referencia (o mapa de encapsulación), las anotaciones uso @Param.


11.简述Mybatis的一级缓存和二级缓存 ?

① caché de nivel es caché de nivel SqlSession. En la operación de base de datos sqlSession requiere objeto de configuración en el objeto tiene una estructura de datos (el HashMap) para almacenar datos de la caché. área de datos de la caché (la HashMap) entre mutuamente diferentes sqlSession no se ve afectada. (Mantenimiento de bases de datos, etc, pero la operación se vacía la memoria caché).

② caché secundaria es un asignador de memoria caché de nivel, a una pluralidad de operar comunicado SqlSession misma Mapper SQL, una pluralidad de caché secundario puede ser compartida SqlSession, caché secundaria a través de la SqlSession.


12.MyBatis 中的动态 SQL 是什么意思 ?

Para algunas consultas complejas, es posible especificar varias condiciones de la consulta, pero puede o puede no existir estas condiciones, tales como la búsqueda de un apartamento en la ciudad por encima de 58, es posible especificar el tamaño, la ubicación y el suelo para encontrar una vivienda, también puede ser designada zona, precio, tamaño y ubicación será encontrar los anuncios, entonces usted necesita para generar dinámicamente las sentencias SQL sobre la base de criterios especificados por el usuario.
Si no se utiliza la persistencia marco podemos necesitar para ensamblar sus propias sentencias SQL, pero afortunadamente MyBatis proporciona funciones de SQL dinámico para resolver este problema. MyBatis SQL dinámico para los elementos principales:
SI
el elegir / Cuando / de otro modo
TRIM
DONDE
SET
del foreach


13.Mybatis工作原理简述



① SqlSessionFactory construye a partir de archivo de configuración SqlMapConfig.xml por SqlSessionFactoryBuilder.
mapas ②SqlSessionFactory un SqlSession abierta, el objeto se obtiene mediante un ejemplo Mapper SqlSession y ejecutar instrucción SQL Mapper.
③ operaciones CRUD de bases de datos completas y presentar la transacción se cierre SqlSession.


Publicado 33 artículos originales · ganado elogios 0 · Vistas 845

Supongo que te gusta

Origin blog.csdn.net/ninth_spring/article/details/104910712
Recomendado
Clasificación