Está en la página 1de 15

Es mejor Spring framework que Spring Boot?

Hay que aprender los dos,

En cacmbio SpringBoot ya nos tiene preparado la aplicación el


outbox, no nos tenemos que precuparnos por los mecanismos
internos de Spring Framework.

Objetivo del curso:

Aprender a crear aplicaiones web en Java con el framework


Spring

Requisitos:

Tener conocimiento ede JSE JEE

INDICE:

1- ¿Qué es Spring?
2- Preparación de Eclipse para para Spring
3- Inversion de control y configuracion XML
4- Inyeccion de dependencias
5- Alcance y ciclo de vida de los beans
6- Configuracion con Java Anotation
7- Configuracion con código Java
8- Aplicaiones web con Spring MVC
¿Qué es Spring?

Spring es un framework más popular para crear aplicaiones web


con Java,

**Un framework:
Es un “entorno de trabajo” compuesto por “reglas” y
“herramientas” que facilitan enormemente el desarrollo de
aplicaciones.Vienen a facilitar la tarea de progrmación.

Spring es una alternativa al derrollo de aplicaciones JEE.


-Es más simple y más ligero(si utilizamos Spring)

Origen de Spring

Para desarrollar aplicaiones empresariales se utilizaba


J2EE, según que subía la versión, la complejidad de esta
tecnoligía iba en aumento.
Concretamentte habían unos componenete, los Java Eneterpise
Beans, que daban muchos dolores de cabeza, eran tremendamente
complejos de manejar y además eran lentísimos en su
implementación y consumían muchos recursos.

Entonces en 2004, surge este frmaework,

y lo creó un progrmador llamado Rod Jhonson


Se creó principalmente para solventar las
dificulltades que había en ese momento a a
la hora de desarrollar aplicaiones web.

Como Spring era ligero y simple los


progrmadores en masa se pasaron a utilizar
este marco.

En aquel momento los desarrolladres de Sun MicroSystems,


tomaron buena nota y vieron las principales caraterísticas
virtuosas de Spring.

Entonces paso a llamrse a JEE en vez de (J2EE)


El manoejo de los componentes, de los enterpise Java Beans,
pasaron de ser muy difilcultososo a ser mucho más fácil además
de que se volvió mas eficiente.

Ambas tecnologías fueron desarrollándose por paralelo, tanto


que no hay prácticamente diferencias entre desarrollar una
plicaion Java empresarial utilizando Spring o con las últimas
versiones de JEE.

Lo único que ocurre es que las mejoras de JEE llegaron tarde,


llegaron cuando Spring ya estaba asentado , y la comunidad de
programadores habían migrado en masa a usar este framework.

Y hoy en día las las aplicaiones empresariales, se usa Spring


(mucho más)

Ventajas de
Spring(principales):

1. La inyección de dependencias, (favorece el


loose coupling)
-Es una de las principales características de Spring

¿Qué es el loose coupling?


Cuando tienes que modificar (una pequeña modificación)en un
programa, pero en consecuencia tienes que modificar a las
demás clases.
La inyección de depencias permite digamos la separación de los
módulos de un programa Java, para todas aquellas
modificaciones para que todas aqeullas modificaciones solo
los deba hacer en un sólo lugar y no repetir esa modificación.

2. Desarrollo sencillo con POJOs(Plain Old Java


Objects)
**POJO:
Una clase sencialla que no hereda de ninguana otra,y una
clase que además no implementa ninguna interfaz.

3. Miniminiza el código repetitivo(boilerplate


code):
Muchas veces cuando queremos un código adicional en programa
de Java ese código adicional te encuentras que debes copiarlo
y pegarlo en varios sitios.
Nos permitirá escribirlo una o dos veces como máximo.

4. Simplifica el acceso a datos.


Cuando veamos Spring JDBC , tendremos que escribir mucho menos
código.

5.Trae consigo la progrmación orientada a


Aspectos
Es otro tipo de código, permite una modularización muy alta.de
nuestros progrmas.

Para hacer una separación muy clara de las diferentes tareas


que debe realizar cada clase, de nuestros programas en Java.
Estructura del Core(núcleo)
de Spring:

Como podemos apreciar está divido en 5 partes o módulos


principales por decirlos de alguna manera.
El principal es el 1. contenedor central, este a su vez está
dividido en submódulos:

1. Este contenedor nos permite la


creación de Beans,
2. A la lectura de los archivos
config.
3. Manejo de propiadades y
dependencias
4. el uso de context para le
manejo de memória

También trae una parte importante que es {Sprin Expression


Language} [SpEL]:

Es un poderoso lenguaje de Expresiones que nos permiten entre


otras cosas, que nos permite manipular objetos en tiempo de
ejecución
2. Infraestructura(módulo):

Este módulo de infraestructuta, maneja todo relacionado a las


transacciones, los logeos, a la seguridad de nuestras
aplicaciones etc.

3. Acceso a datos (módulo):


Este módulo nos permtirá accer a datos…

JDBC:
Este módulo con menos código para escribir gracias a las
clases auxiliares que vienen con el módulo.
ORM (Object Relational Model):
Nos va permitir muchas cosas,entre otras, el acceder a datos
de una manera o con un enfoque orientado a objetos, nos
permite utilizar la programación orientada a objetos con bases
de datos, con sus propiadades y métodos.

Luego también nos permitirá la integraciín de Hibernate, otro


framework muy utilizado incluso

Transactions
El módulo transactions a su vez está dividido en:
El módulo transation nos permitirá reducir nuestro código de
programación a la hora de hacer llamadas a las bases de datos

OXM[]:
JSM[Java Messaging Service]:
Referente al manejo de mensajes en Java
4. Web/MVC:

Este modelo viene es Spring con


cuatro módulos:
Estas tecnologías nos
permitirán el acceso web
remoto, la progrmación
distribuida, nos permitirá la
integración de ptras
tecnologías como JSF[] o Struts

4. Pruebas [Test]:
Este módulo de pruebas nos va a permitir, nos permitirá
pruebas para el desarrollo de nuestro proyecto.

Con ello vienen con


Mock Objects:
Son objetos simulados que podemos crear durante el
desarrollo de un progrma Java para hacer pruebas

Configuración de Eclipse:
Descarga e instalación librerías Spring.
Spring JAR files.

→ Spring jar files:

Para aplicar los jars creamos la carpeta libs:


Propeties[Proyecto] → Java Build Path → Libraries → add Jars
→ seleccionamos (si son muchos seleccionamos el primer + shift
y seleccionamos el último).

Inversion of Control.
Vamos a mirar una de sus características principales (IoC):
-Esta característica está presente en muchos otros framework.

En qué consisten IoC?


Este paradigma lo inventó un llamado Martin Fowler.
Este paradigma se sostuvo en el Principio de Hollywood:
¿Qué es el principio de Hollywood?

Invierte el flujo de control del progrma,externizándolo(agente


externo: framework) la contrucción y el manejo de objetos.
Ventajas:

1. Proporciona modularidad a nuestras aplicaiones

2. Permite ampliar la funcionalidad de nuestras aplicaiones


sin modificar las clases.

3. Evita las dependencias entre las clases.

4. Flexibiliza nuestras aplicaiones haciéndolas más


configurables.

Nos urge la necesidad de un objeto(de algún tipo), para con


Spring nos lo proporcionará sin la modifcación de ningún
código atrvés de un contgenedor objetos y un archivo de
configurafción.
Para crear ese archivo de configuración podemos:

*La creación de archivos de configutración a de un XML


está en desuso

Inyección de dependencias.

¿Qué es una dependencia?


El concepto de depencia deriva de un comportamiento, una forma
de diseñar, cuando utilizamos la POO ,este concept de
[Modularización]
**La modularización:
-Consiste (cuando estemos diseñando un progrma complejo o
medianamente complejo)
Podemos hacer una analogía con los componentes de un PC, un
progrma que esté compuesto en distintas partes o clases
independientes de que alguna manera se comunican entre ellas
para funcionar como una unidad.

A la hora del diseño se observa que cada uno de estos


componentes (en este caso objetos) tienen dependencias
(dependen de otro componente(objeto)).

Entonces que la Inyección de dependencias?

1. {Un patrón de diseño en la progrmación orientada o objetos


en el que una clase se encarga de suministrar objetos a una
clase en lugar de ser la propia clase la que cree dichhos
objetos }

2.{El cliente delega con llamadas a otro objeto la


responsabilidad de proporcionar sus dependencias}

Entonces la Inyeccion de dependecias consiste en vez de la


creación manual de nuestros objetos, dejamos que un tercero
nos lo proporciones(Spring)
Ventajas:
1. La es que en el futuro si otra clase necesita esas mismas
dependencias para funcionar se la podemos inyectar sin crear
de nuevo (sin tener que instanciarlas de nuevo)
Múy útiles cuando se requieren conexiones a BD , a
ficheros externos, etc.

¿Como podemos crear una Inyección de Dependencias?

También hay la posbilidad del Auto-wiring.

Para crearlo mediante un costructor:

También podría gustarte