miércoles, 21 de agosto de 2013

Introducción a Spring Framework

Bueno como ya me han estado pediendo que publique sobre JEE, pues voy  a seguirle con el tutorial de Spring Framework, que es uno de mis frameworks favoritos :)

y bueno antes de leer esta entrada, y si eres nuevo en esta tenologia te invito a que primero cheques la teoría de Spring y que herramientas de desarrollo vamos a utilizar para el tutorial que estaré desarrollando en estas semanas.

primero checate este:
http://tutorialesjavamx.blogspot.mx/2013/08/spring-framework.html

Luego este:
http://tutorialesjavamx.blogspot.mx/2013/08/instalacion-y-configuracion-de-sts.html


Con esto ya tienes para seguir aquí.

bien, ahora se supone ya tienes abierto tu STS y ya tienes tus repositorios de Maven listos.


MAVEN?????    y eso que es??.. no te preocupes, en la siguiente entrada hablaré a detalle sobre que es Maven, por ahora solo te diré que es una herramienta para gestión y creación de proyectos Java y bueno, STS que tiene una sencilla integración con el, por eso es que lo vamos a utilizar.



ok, bueno como todos sabemos para poder utilizar dependencias en nuestros proyectos Java necesitamos agregarlas a nuestro proyecto de manera manual, es decir, ir por ellas a la web y luego copiarlas y por último referenciarlas a nuestro proyecto.


que tedioso es eso, jumm..

pero para eso esta nuestra herramienta Maven.


gracias Maven por existir :)
y  bueno la siguiente comparativa lo ejemplifica todo.
























esto es lo que tendrías que hacer si no usaras maven, agregar todas tus librerías de manera manual a tu proyecto, ahora imaginate cuando se trabaja en equipo o con un repositorio donde, no son 2 o 10 librerías, sino muchas más.

incluso cuando se trabajo con subversion es demasiado molesto que alguien suba sus respectivos cambios pero no la librería que esta utilizando, ende cuando tu actualizas tu copia de trabajo ya no funciona, total se soluciona, te pasa en una usb la librería que tienes que agregar o aunque la suba en el proyecto tienes que referenciarla de esta manera, que pesado es eso de verdad y lo digo por experiencia.
quizás muchos se esten preguntando que es subversion, también en la siguiente de la siguiente entrada vamos aprender a usarlo, no se preocupen :)

en fin, regresando a maven, donde todo las dependencias de tu proyecto se concentran en un archivo xml llamado pom.xml y pues los detalles de maven se los mencionaré en la siguiente entrada, quedaría así.



















todas las dependencias de tu proyecto se declaran aquí, también puedes especificar que versión del Jar requieres, con esta declaración a través de maven busca las librerías en Internet, las descarga de manera local y las utiliza en cualquiera de tus proyectos que las necesite.  :)

pero bueno ya dije que hablaré a detalle de maven en la otra entrada.


seguimos..


ahora que al menos sabemos que maven existe, vamos al menú file de nuestro IDE y le damos

File - New -Other.

escribimos maven en el input box.


de la categoría que aparece(Maven) escogemos Maven Proyect.,  activamos la casilla de abajo y le damos siguiente.




en la siguiente pantalla vamos a configurar de la siguiente manera






















yo creo que se explica sola :).


bien ahora le damos finalizar y listo ya tenemos creado un proyecto java basado en Maven, el cual nos da una arquitectura standard y muy sencilla para ubicar nuestros archivos en el proyecto.


ya hablaremos sobre esta arquitectura más tarde, por ahora solo vamos a concentrarnos en un simple hola mundo con Spring .








bien, lo único que si tenemos que destacar es que existe un archivo xml llamado pom.xml, asi que vamos abrirlo.









como podemos ver tenemos varias vistas, ya que nuestro IDE tiene soporte nativo para Maven, nos ayuda con estas interfaces visuales, sin embargo vamos a ver la vista de pom.xml.





que es muy parecida a la que mostramos con anterioridad, bueno ahora vamos agregar dos librerías para que podamos realizar nuestro ejemplo.
vallamos a la vista de Dependencies y precionemos el boton de Add.


ahora teclemos spring-core





















podemos ver que nos arroja muchos resultados, pero la que queremos es de org.springframework, también podemos observar que tienen una especie de menús desplegables, que lo que nos muestran son las versiones de cada jar que ha tenido.

hacemos lo mismo con spring-context y le damos ok






















con estas dos librerías es suficiente para que nuestro ide la descarge y las podamos usar en nuestro proyecto.
nota: el tiempo de descarga depende si es la primera vez tardará al bajarlas en tu repositorio local :O

una vez agregadas nuestras librerías regresemos a la vista de pom.xml

ahora ya esta como en la imagen de arriba,.. :), pero que creeen pudimos a verlas agregado en el archivo pom.xml directamente, y eso es muy usuado en la realidad :)




una vez listas, vamos a crear una clase con un main llamado-> HolaSpring.java en src/main/java creando un paquete con la siguiente nomenclatura mx.com.nombreproyecto.beans y activando la casilla para que nos cree el método main






























listo, ahora vamos a crear un archivo de configuración de Spring el famoso ApplicationContext del cual también hablaremos en otra entrada. Por ahora solo nos limitaremos a crearlo con ayuda de nuestro IDE.

File -New-Other-- tecleamos Spring -- elegimos Spring Bean Configuration File.



































en el nombre del archivo le ponemos spring o como ustedes quieran ponerle, al momento de grabarlo tenemos cuidado de hacerlo en la carpeta de resources, que esta destinada para los archivos no java en este caso XML, le damos siguiente.

en este paso seleccionamos los namespaces de beans y context que son como los imports para java.




































ahora simplemente le damos finish.

Ahora creamos un bean de tipo String en nuestra fábrica de beans (archivo xml).












la propiedad id es su identificador, la propiedad class es el tipo de clase que este bean.


en <constructor-arg value="hola mundo" /> significa que por medio de su constructor le estamos pasando un valor que en este caso es hola mundo.
es como si fuera así.   :)

String cadenaSpring =new String("Hola mundo");



bien ahora vallamos a  la clase Java otra vez y creemos nuestra fábrica de beans de la siguiente manera y corramos el ejemplo.






















en la línea 13 creamos nuestra fábrica de spring la cual va leer todos los beans contenido en ella, en este caso nuestro archivo spring.xml.

si tienen dudas sobre esta asignación, no es nada más que downcasting, el cual se explica en este link.
http://tutorialesjavamx.blogspot.mx/2013/08/programacion-orientada-interfaces.html



en la línea 14 obtenemos nuestro bean por medio de su id y se lo asignamos a una variable del mismo tipo.

en la línea 15 imprimos su valor.

listo, con esto tenemos un hola mundo sencillo con spring, estaremos subiendo ejemplos poco a poco más complejos, saludos.

4 comentarios:

  1. Algo sobre android y Bluetooth, especificamente envio de objetos(Imagenes, audio, etc).

    ResponderBorrar
  2. ahhh tengooo un error al crear el maven podrian ayudarme gracias!!!
    Could not calculate build plan: plugin
    Org.apache.mavenplugins: maven-resoursces-pluging2:5 or one of its dependencies
    Could not be resolved: failed to read artifact descriptor for org-maven.plugins: maven-resources-pligin: jar.2.5

    ResponderBorrar
    Respuestas
    1. posiblemente se bajaron mal tus dependencias de maven, quizás tengas que volver a bajar las librerías, para eso elimina la carpeta de .m2 que tienes como carpeta oculta despues de tu nombre de usario, es decir, se encuentra en C:\Users\NombreUsuari\.m2, en el caso de windows, si es linux pues dale una buscada en google para saber donde se guarda la carpeta. saludos

      Borrar
  3. si es en linux e instalaste el .sh com usuario normal entonces esto quiere decir que puedes buscar esta carpeta en la carpeta personal de tu usuario (/home/tuUSUARIO) y si quieres que aparezca graficamente presionas CTRL+H o si quieres hacerlo desde la consola entonces te posicionas en la ruta /home/tuUSUARIO y haces una busqueda con el comando ls -a

    ResponderBorrar