Monday, June 23, 2008

Empezando a practicar con Spring

Hace un año y medio empezaba a leer acerca de Spring, desde entonces estoy convencido de que es un framework que debo usar en mis proyectos ya que facilita en gran medida el desarrollo de aplicaciones.

Inyección de dependencias (DI ó Dependency Injection) y AOP (Aspect Object Programming) son su core. Este par de conceptos llevados a la práctica permite tener aplicaciones con bajo acoplamiento.

Con DI es posible tener código (clases) totalmente agonósticas de sus dependencias, de modo que tales dependencias les son dadas por el contenedor ligero de Spring, de acuerdo a la configuración hecha a través de un archivo XML (típicamente). Con esto, con solo cambiar la configuración en dicho archivo es posible inyectar dependencias diferentes.

Con AOP se obtiene también desacoplamiento, pero diferente a DI. AOP permite agregar funcionalidad a nuestro código en tiempo de ejecución. Es posible, por ejemplo, establecer el conjunto de métodos que podrán demarcar una transacción sin que la clase contenedora de tales métodos se entere de que tendrá esa funcionalidad. Este "aumento" en la funcionalidad para una clase dada es conocido como aspecto. Así, otras responsabilidades pueden ser manejadas como aspectos, típicamente aquellas que se presentan en más de una capa de la aplicación, conocidas como crosscutting concerns.

Con Spring tendremos aplicaciones que serán mucho mas fáciles de probar y mantener.

Tal está siendo el éxito de Spring que ya se puede considerar como la plataforma tecnolólogica de facto en el desarrollo empresarial con Java.

No comments: