Estoy tratando de entender ApplicationContext jerarquías en la primavera.

He aprendido la siguiente

  1. Un ApplicationContext no puede tener
    más de 1 de los padres
    ApplicationContext.
  2. Cuando un determinado
    ApplicationContext no puede resolver un
    bean, que va a pasar en la resolución de
    solicite a su padre.
  3. El padre de
    un ApplicationContext se especifica
    en su constructor.

Me gustaría entender cuándo utilizar ApplicationContext jerarquías (en lugar de una sola ApplicationContext).

Lo mejor que pude conseguir de google fue este. Y lo que yo entiendo es que si una aplicación tiene un gran número de granos definidos en las distintas capas, a continuación, cada capa tiene su propio ApplicationContext sería un beneficio. Lo que no se entiende es ¿cuál es el beneficio de hacerlo y cómo es el beneficio logrado?

TIA,
Vijay

1 Comentario

  1. 48

    El clásico caso de uso para esto es cuando usted tiene múltiples Primavera DispatcherServlet dentro de una sola aplicación web, con cada uno de estos servlets tener su propia aplicación de contexto, pero que necesitan compartir frijoles entre ellos. En este caso, se agrega un 3er contexto en el nivel de la webapp, que es el padre de cada uno de los servlet appcontexts.

    Usted puede tomar este patrón mayor, por ejemplo, si usted tiene múltiples webapps incluido en un solo JavaEE OÍDO. Aquí, el OÍDO puede tener su propio contexto, que es el padre de la persona webapp contextos, que es el padre de el servlet contextos, y así sucesivamente. Usted tiene esta jerarquía de responsabilidad.

    En otras situaciones, el contexto de la estructura es dictada por algún otro factor. Por ejemplo, la Primavera de Seguridad es independiente de Spring MVC, por lo que requiere de configuración de beans para ir en la webapp contexto. Si desea utilizar MVC de Spring con él, entonces la config por que tiene que ir en el contexto de servlet, que tiene la raíz webapp contexto como su padre.

    • En lectura, se entiende lo siguiente (skaffman ya ha indicado partes de este). Cada MVC de Spring webapp tiene una raíz en el contexto de aplicación y un servlet en el contexto de aplicación para cada DispatcherServlet. La raíz de la aplicación de contexto es el padre de cada servlet en el contexto de aplicación. Los frijoles se define en «contextConfigLocation» (context-param en web.xml) se cargan en la raíz de contexto de la aplicación. Frijoles en <servlet-name>-servlet.xml se cargan en un servlet en el contexto de aplicación. Si el OÍDO tiene varias aplicaciones web, un nivel de la OREJA, en el contexto de aplicación pueden ser padres de la raíz de contexto de cada una webapp en el OÍDO.
    • Sí, eso es.

Dejar respuesta

Please enter your comment!
Please enter your name here