¿Qué es Spring Framework? - Camino hacia un desarrollo eficiente



Este blog sobre qué es Spring Framework habla sobre el Java Framework ampliamente utilizado: Spring. También explica por qué y cómo usar Spring Framework con ejemplos.

En el mundo acelerado de hoy, necesitamos que todo sea rápido. No queremos mantenernos ocupados en un trabajo por mucho tiempo, que sea algo como viajar, comprar, estudiar o trabajar. En lo que respecta a la codificación, queremos que nuestras aplicaciones se desarrollen en el menor tiempo posible, pero con la máxima eficacia. Puede que tengamos prisa, pero aún así, no podemos comprometer nuestra calidad ni queremos esforzarnos demasiado. Entonces, ¿cuál es la solución? Los marcos funcionan mejor en esta situación. Hay varios Frameworks disponibles en el mercado, entre los que se utilizan pocos como: Spring, Hibernate, Struts, etc. A través de este blog, averigüemos qué es Spring Framework y por qué es tan popular en el mercado.

Antes de comenzar, echemos un vistazo a los temas que discutiré en este blog:





Marcos de Java

¿Por qué deberíamos optar por Frameworks?Vamosentiéndelo con nuestro amigo, Coddy .

Coddy en problema - ¿Qué es Spring Framework - Edureka!



Coddy se le asigna una tarea para desarrollar una aplicación, pero el tiempo asignado no es suficiente para terminarla. Tiene que escribir muchas líneas de código (LOC) por sí mismo. Lleva mucho tiempo y es agotador. ¡Está confundido sobre lo que debería hacer! ¡Por dónde debería empezar!

Coddy comienza a pensar en una solución a su problema. Necesita algo que sea rápido y eficiente que ahorre tiempo y esfuerzo, como algo listo para usar.



De repente, se le ocurre la idea de utilizar Frameworks. Los marcos son rápidos, eficientes y ligeros. Son grandes cuerpos de códigos predefinidos que podemos agregar fácilmente a nuestro propio código para resolver un problema específico.

El codifica usando el Framework. Sorprendentemente, el código se adaptó fácilmente al marco.

Coddy ahora, puede codificar más rápido y completar su aplicación dentro del período de tiempo dado. Además, no tiene que escribir miles de líneas de código no funcional.

Después de implementar la aplicación que se desarrolló utilizando el Framework, descubrió que se ejecutaba con una velocidad mucho mayor y su rendimiento también aumentaba en comparación con otras aplicaciones que se desarrollaron sin utilizar el Framework.

Entonces, comencemos ahora con los marcos de Java.

¿Cómo surgieron los marcos de Java?

A fines de la década de 1990, las aplicaciones se desarrollaron ampliamente utilizando estándares JEE. La premisa de J2EE era multiplataforma / multiproveedor, si puede codificar de acuerdo con los estándares J2EE, puede implementar su aplicación en cualquier servidor de aplicaciones J2EE independientemente de la plataforma. Ejecutar su código en cualquier servidor de aplicaciones le brinda muchos beneficios como: administración de transacciones, mensajería, correo, interfaz de directorio, etc. Pero como nada es fácil en este mundo, trabajar con J2EE también tuvo algunas dificultades.

  • MuyComplejo : Enterprise Java Bean se desarrolló para reducir la complejidad de las aplicaciones J2EE. Pero no logró su objetivo de implementación. La razón detrás de esto es que, al escribir un componente, se requiere escribir un conjunto de archivos XML, interfaces domésticas, interfaces remotas / locales, etc.
  • Problema de 'búsqueda': Siempre que un componente dependía de otro componente, tenía que buscar los componentes de los que dependía por sí mismo. Esta 'búsqueda' del componente se realiza solo por el nombre, por lo que el nombre de la dependencia estaba codificado en el componente.
  • Peso pesado: Como unTodas las funciones como agrupación en clúster, comunicación remota, etc. fueron compatibles, debe configurarlas, independientemente de si las necesita o no. Esto hará que tus aplicaciones se inflen.

Así nació Java Frameworks. Los marcos de Java no son más que grandes cuerpos de código predefinido que puede aplicar a su propio código para resolver su problema en un dominio específico. Puede utilizar un marco llamando a sus métodos, herencia, proporcionando 'devoluciones de llamada', oyentes u otras implementaciones del Observador patrón.

Entendamos a través de una representación pictórica:

Pero, ¿cómo reducen exactamente nuestro trabajo y hacen que nuestros códigos sean eficientes? Para entenderlo pasa por lo siguiente ventajasydesventajasde estos marcos. Empecemos con el ventajas .

Eficiencia:

Las tareas que generalmente le llevan horas y cientos de líneas de código para componer, ahora se pueden realizar en minutos con funciones prediseñadas. El desarrollo se vuelve mucho más fácil, por lo que si es mucho más fácil, es mucho más rápido y, por lo tanto, más eficaz.

Seguridad:

Un marco ampliamente utilizado generalmente tendrá grandesseguridadaplicaciones. El gran beneficio es elBarriodetrás de ese marco, donde los usuarios generalmente terminan siendo probadores duraderos. Si encuentra una vulnerabilidad o un agujero de seguridad, puede ir al sitio web del marco e informarles para que puedan solucionarlo.

Gastos:

clase aleatoria en el ejemplo de java

Las estructuras más populares son complementarias y, por lo tanto, ayudan al desarrollador a codificar más rápido. Si la codificación se realiza más rápido, el gasto para el cliente final será ciertamente menor en todos los aspectos, ya sea tiempo o esfuerzo. Además, el coste de mantenimiento también es bajo.

Apoyo:

Como cualquier otra herramienta distribuida, un marco generalmente incluye documentos, un grupo de apoyo o foros en línea de una gran comunidad donde puede obtener respuestas rápidas.

A pesar de tener todas estas ventajas, los marcos de Java tienen algunas desventajas , me gusta:


Restricciones:

El comportamiento fundamental del marco no se puede cambiar, lo que indica que cuando usa un marco, debe respetar sus limitaciones y trabajar de la manera que se requiere. Por lo tanto, debe asegurarse de elegir un marco que se adapte a sus necesidades.

El código es público:

Dado que el marco está disponible para todos, yoTambién se ofrece a personas con malas intenciones. Se puede estudiar para saber cómo funcionan las cosas y descubrir fallas que se pueden utilizar en su contra.

Personalizado Características:

Cuando utiliza un marco, sabe muy poco sobre el lenguaje detrás de él porque las características en él están diseñadas a medida.Cuando utiliza funciones personalizadas, es muy probable que deba utilizarlas de acuerdo con los estándares del marco, que pueden diferir del concepto original.

Ahoraeseconoces las ventajas y desventajasde los marcos,elija su marco de acuerdo a su necesidad. Hay varios tipos de marcos disponibles en el mercado. El siguiente diagrama muestra algunos de ellos:

Entonces, en este blog nos centraremos en Spring Framework.

¿Qué es Spring Framework?

Aquí surge la pregunta '¿Qué es Spring Framework'?

Spring Framework es un marco de desarrollo de aplicaciones ligero y potente utilizado para Enterprise Java (JEE).

Las características principales de Spring Framework se pueden utilizar para desarrollar cualquier aplicación Java.Puede describirse comoMarco completo y modular. Spring Framework se puede utilizar para todas las implementaciones de capas de una aplicación en tiempo real. También se puede utilizar para el desarrollo de una capa particular de una aplicación en tiempo real a diferencia de Struts e Hibernate, pero con Spring podemos desarrollar todas las capas.

Se trataba de qué es Spring Framework, pero ¿cómo se desarrolló? Bueno, hay una historia interesante detrás de esto. Echemos un vistazo a la historia y el origen de Spring Framework.

En octubre de 2002, Rod Johnson , un especialista australiano en informática, escribió un libro titulado Expert One-on-One J2EE Design and Development. En este libro propuso una solución más simple basada en clases Java ordinarias (POJO) e inyección de dependencias. Escribió más de 30.000 líneas de código de infraestructura que incluían una serie de interfaces y clases de Java reutilizables para desarrollar la aplicación. Alrededor de febrero de 2003, Rod, Juergen y Yann comenzaron a colaborar en el proyecto Spring. Se le dio el nombre 'Primavera' porque significaba un nuevo comienzo después de 'Invierno' de J2EE tradicional.

A continuación se muestra la línea de tiempo que se muestra sobre los principales lanzamientos en la historia de Spring:

Se denominó Interface 21, como referencia al siglo XXI y se lanzó bajo licencia Apache 2.0.
Este fue el primer lanzamiento histórico. Spring Framework evolucionó rápidamente desde esta versión. Interface21 soportó AspectJ en paralelo con Spring Framework.
Se agregaron nuevas características: configuraciones XML extensibles, soporte para Java 5 y lenguajes dinámicos, puntos de extensión de IoC y mejoras de AOP.
Se agregaron nuevas funciones: compatibilidad con Java 6 / JEE5, configuraciones de anotaciones, detección automática de componentes en classpath y paquetes compatibles con OSGi.
Se agregaron nuevas características: soporte para el sistema de módulos reorganizados, SpEL, JavaConfig, bases de datos integradas, soporte REST y soporte para Java EE 6.
Se lanzó el proyecto Spring Data Commons. Más tarde, en 2012, Rod Johnson dejó el equipo de Spring.
Todos los proyectos de Spring cambiaron a Pivotal. Se agregaron nuevas características: soporte completo para Java 8, websockets, mayores dependencias de bibliotecas de terceros, DSL maravilloso para definiciones de frijoles.
Era compatible con Java 6, 7 y 8, con un enfoque en las mejoras centrales y las capacidades web modernas.
Será la generación finaldentro de los requisitos generales del sistema Spring 4. 4.3.8 es la versión actual.

¿Por qué Spring Framework?

A continuación se muestra una tabla que muestra la comparación entre Spring y varios otros Frameworks.

A continuación se muestra un gráfico basado en una encuesta,en mayo de 2016. Como puede ver en el gráfico, Spring Framework es muy popular en su dominio y ha continuado manteniendo su posición en ten desde 2014.

Razones para el marco de resortela popularidad de las obras

En general, hay tres razones principales para la popularidad de Spring Framework.

  1. Sencillez
  2. Testabilidad
  3. Bajo acoplamiento

Analicemos estos temas en detalle.

Sencillez: Spring Framework es simple porque no es invasivo, ya que utiliza modelos POJO y POJI.

  • POJO (Objetos Java antiguos simples): ALa clase Java que no está acoplada con ninguna tecnología o marco se llama POJO .
  • POJI (Interfaces Java simples y antiguas): una interfaz Java que no está acoplada con ninguna tecnología o marco de trabajo se llama POJI .

Testabilidad : Por escribir la Sbambúaplicación, el servidor no es obligatorio. Pero para struts y aplicaciones EJB, necesita un servidor, si desea probar la aplicación. Es posible que necesite muchos cambios en la fuente y para ver esos cambios, cada vez que tenga que reiniciar el servidor. Esto se vuelve tedioso y requiere mucho tiempo. En caso deSpring Framework, tiene su propio contenedor para ejecutar la aplicación.cationes.

Bajo acoplamiento : Spring Framework está débilmente acoplado porque tiene conceptos como Dependency Injection, AOP, etc. Estas características ayudan a reducir la dependencia y aumentar la modularidad dentro del código. Entendamos esto con un ejemplo.

Aquí tengo una interfaz Bike que tiene un método start (). Además, se implementa en tres clases, a saber: Yamaha, Honda y Bajaj.

bicicleta de interfaz pública {public void start ()}

Aquí, una clase Rider crea un objeto de cualquier clase que implementa la interfaz Bike.

class Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Ahora el contenedor Spring Framework puede inyectar un objeto de cualquier clase que implemente la interfaz Bike, según el requisito. Así es como funciona el acoplamiento suelto.

Arquitectura de Spring Framework

Como puede ver en el diagrama anterior, Spring tiene una arquitectura en capas que consta de diferentes módulos que tienen su propia funcionalidad. Estos módulos se generalizan en las siguientes capas:

  • Contenedor central
  • Acceso / integración de datos
  • Web
  • AOP (Programación Orientada a Aspectos)
  • Instrumentación
  • Prueba.

Quizás se esté preguntando, ¿cuál es la ventaja de Spring Framework de tener una arquitectura en capas? Averigüemos a través de los siguientes puntos:

  • Spring Framework organiza eficazmente sus objetos de nivel medio.
  • Independientemente del entorno de ejecución, los servicios de administración de configuración de Spring Framework se pueden utilizar en cualquier capa arquitectónica.
  • Spring Framework maneja la configuración de manera consistente en toda la aplicación. Esto elimina la necesidad de utilizar una variedad de formatos de archivo de propiedades personalizadas.
  • Spring Framework está diseñado de tal manera que las aplicaciones creadas con él dependerán de la menor cantidad posible de sus API.
  • Por el uso de interfaces,Spring Framework facilita las buenas prácticas de programación.

Para entender completamente qué es Spring Framework, veamos una aplicación Spring Framework simple. Siga los cinco sencillos pasos:

Paso I: Crear la clase Bean

package org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Hola: '+ nombre)}}

Paso II: crear un archivo XML

 

Paso III: crea la clase principal

package org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContext ('StudentConfig.xml' ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Paso IV: Cargue los archivos jar

Cargue los siguientes archivos jar.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-beans-4.2.2.RELEASE.jar
  • Spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • primavera-expresión-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

NOTA: En caso de que necesite los archivos jar, comente a continuación.

Paso V: ejecutar el programa

Ejecute el programa en su servidor para probar la aplicación.

Espero haber podido explicar claramente qué es Spring Framework, cómo funciona exactamente y para qué se utiliza. También consulte el video sobre '¿Qué es Spring Framework', donde el instructor describe los temas discutidos en este blog junto con una demostración práctica.

¿Qué es Spring Framework en Java? Tutorial de Spring Framework | Edureka

Si está interesado en obtener más información sobre Spring Framework, permanezca atento a esta serie de blogs mía porque crearé otro blog en que hablará sobre conceptos más avanzados en Spring.

Si desea aprender Spring y desea usarlo mientras desarrolla aplicaciones Java, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.