2010-07-07 15 views
8

Actualmente estoy reconstruyendo una aplicación PHP existente usando Java. Por lo tanto, tengo una GUI frontend existente y un esquema de base de datos existente con el que estoy trabajando.¿Cómo encaja Spring en la arquitectura de mi aplicación?

Aquí es el conjunto de tecnologías que estoy trabajando hacia:

  1. jQuery, del lado del cliente
  2. Wicket, front-end
  3. primavera, ???
  4. Hibernate, ORM
  5. MySQL, base de datos

Antes de leer sobre Spring tanto en Wicket En Acción y la documentación de Hibernate, que prevé el cableado de los dos juntos a través de mi propio negocio lógica. Tengo experiencia con JBoss Seam, pero me dicen que Spring es difícilmente comparable (aunque la documentación sugiere lo contrario, IMO). Sin añadir un libro sobre Spring a mi lista de lectura (no he encontrado uno apropiado con buenas críticas todavía), estoy perdido.

¿Qué beneficio (s) proporcionará Spring en este paquete de tecnología?

Subjetiva & opcional seguimiento pregunta: lo material de referencia (libro, página web, etc.) a ayudarme a empezar con la parte de la primavera 3 puedo utilizar?

+0

La primavera realmente no se sienta en la pila así. En una pila web estándar de 3 capas, abarca DAO, servicio y vistas de capas. – ireddick

+0

Bueno, definitivamente no lo estoy usando para la vista ... ya estoy aprovechando al máximo Wicket. – Dolph

+0

Estaba hablando principalmente sobre la inyección/gestión de la dependencia de Spring. – ireddick

Respuesta

2

En primer lugar, puede hacer que su aplicación web sin muelle. Pero Spring facilitará mucho las cosas. El marco de Spring es ligero, no invasivo. Spring es como una especie de conductor. Entre otras cosas, Spring te ayuda en:

  1. Para mantener tus objetos ligeramente acoplados.Esto hará que su aplicación sea más flexible y esté abierta a futuros cambios

  2. Potente soporte para transacciones a través del AOP (Programación Orientada a Aspectos).

  3. Módulo de integración de mapeo relacional de objetos (ORM). Spring no intenta implementar su propia solución ORM, pero proporciona ganchos en varias estructuras ORM populares, incluidas Hibernate, Java Persistence API, Java Data Objects y iBATIS SQL Maps. La gestión de transacciones de Spring es compatible con cada uno de estos marcos ORM, así como con JDBC.

  4. El marco Spring MVC. A pesar de que Spring se integra con varios frameworks populares de MVC, también viene con su propio framework MVC muy capaz que promueve las técnicas flojas de Spring en la capa web de una aplicación.

Un buen libro sobre Spring: Pro primavera

2

El muelle, como se indica en this review no es invasivo. Simplemente conecta los componentes de tu aplicación. Y proporciona clases útiles que facilitan el uso de otros marcos (JMS, JPA, etc.). Spring no te obliga a usar sus clases o interfaces en ningún lado.

Lo que maneja es la creación de sus componentes (objetos), para que pueda consultar las dependencias de una clase, sin instanciarlas. Es decir. dices lo que necesita tu clase, no cómo lo está obteniendo. Esto hace que la aplicación sea muy flexible.

Es decir, para más información, lea el artículo vinculado. No se trata de la última versión, pero eso no importa.

2

@Dolph, en el término más simple, pensar en la primavera como su marco de aplicación en el más alto grado. Este "marco" proporciona varios "bloques de componentes" donde puede conectar fácilmente diferentes tipos de implementaciones. Por ejemplo, para ORM, puede optar por utilizar Hibernate sobre JPA o TopLink, para la interfaz, puede elegir Wicket sobre Struts o SpringMVC, y así sucesivamente.

Toda la belleza de esto (además de todas las ventajas indicadas en otras publicaciones) es que le permite intercambiar fácilmente cualquiera de estas implementaciones fácilmente en el futuro. Por lo tanto, esencialmente puedes ripear Hibernate un día y reemplazarlo con TopLink, y nunca causará efecto dominó en otros componentes.

Otra belleza del uso de Spring es que su código se vuelve menos desordenado y tiene dependencias sueltas con otras clases porque pasa menos tiempo creando nuevos objetos usted mismo, Spring se encarga de eso por usted. Dicho esto, rápidamente te darás cuenta de lo fácil que es probar tu código porque tu API para probar se vuelve muy atómica. Esta es una de las principales razones por las que la gente se desanima al escribir testimonios, porque rápidamente se dan cuenta de que para poder probar una API, tienen que construir muchas cosas solo para probar eso. Debido a eso, todo el proceso es frágil, imagina que si cambias esa API, necesitas reconstruir todo antes de volver a probarlo.

Pro Spring book es bueno, mencionado por @JLBarros. Me gusta mucho Spring in Action. Es muy fácil de leer cuando recién comencé con Spring. Este es probablemente un libro de referencia que leo de piel a piel.

+0

Me gusta la serie * In Action *, pero no tenía confianza en el libro después de leer la tabla de contenido ... pero, una vez más, no tenía idea de lo que quería salir de Spring, así que no sabía qué ¡buscar! La segunda edición se espera que salga también en diciembre de 2010. – Dolph

+0

The In Action de ninguna manera tiene todos los detalles sobre Spring. Para eso, necesita consultar el sitio web de springsource directamente porque tienen la documentación más completa que he visto en mi vida. The In Action me ayuda a comenzar de inmediato y las explicaciones son muy fáciles de entender. Cuando necesite más información después de eso, voy a cavar alrededor de Springsource. – limc

Cuestiones relacionadas