Ir al contenido principal

Crear y configurar primer proyecto Hola Mundo

Primero creamos el proyecto


Objetivo


Vamos a crear un proyecto (Ejercicio1) con Maven. 

En el proyecto creado(ejercicio1) vamos a configurar un Bean para realiza nuestra primera inyección de dependencia también llamada Inversión de control(DI o IoC ).

Se puede ver la práctica en el vídeo:

Nota Importante:
Hay una parte que difiere con la alta del "bean" en el archivo "applicationContext.xml". En el contenido de esta entrada del Blog, se explica con los asistentes de Spring Tools Suite y en el videotutorial se realiza editando el archivo xml. Se realiza de esta forma por motivos pedagógicos.

1-Creación del proyecto:

Seleccionamos file=>new =>other:
-pendiented de imagen

Se abre el asistente de creación de proyecto:


Se abre el asistente de creación de proyecto:




Filtramos por: maven

Aparece la ventana de creación del  de creación de nuevo proyecto Maven y seleccionamos "create a simple poject" y nos evita la selección de un arquetipo(este concepto se explicará más adelante):



Valores de los campos:



Pulsamos siguiente y rellenamos los campos:



Group Id: com.locosporjava.es
Artifact Id: ejercicio1
Version: 1.0


2-Configuramos el proyecto

 Hay que tener seleccionado el proyecto "ejercicio1":


Abrimos sus propiedades y modificamos el java build path:

En las entradas:
-ejercicio1/src/main/java:eliminamos las exclusiones.
-ejercicio1/src/test/java:eliminamos las exclusiones.

Esto se hace pulsado el botón remove en cada uno de los exclude.


De esta forma apareceran los archivos .xml y .properties.


Ahora configuramos las librerias en :

-modificamos si es necesario el jre seleccionando el java se-1.8:
En las imagenes cambiamos de jse1.5 a jse1.8:





Abrimos el archivo pom.xml:



Seleccionamos la pestaña "dependencias":




Añadimos las siguienetes dependencias:

spring core



y spring context



Seleccionamos en los dos casos la versión 4.3.3.RELEASE

Guardamos y si no estan cargadas las dependencias Maven lo hará de forma automática si tenemos actualizados los indices en el repositorio local desde el repositorio global.



Apunte de código para que pueda copiarse según la necesidad del usuario del blog. Fichero pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.locosporjava.es</groupId>
  <artifactId>ejercicio1</artifactId>
  <version>1.0</version>
  <dependencies>
   <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>4.3.3.RELEASE</version>
   </dependency>
   <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>4.3.3.RELEASE</version>
   </dependency>
  </dependencies>
</project>


Ahora creamos el archivo "Spring Bean Configuration file" desde file=>new=>other y con el filtro: spring

Con  el nombre: applicationContext , sin poner punto xml.

Nota importante: hay que recordar que el nombre de este fichero es arbitrario.

En la carpeta del proyecto "src/main/resources".Puede crearse en otro lugar pero por defecto spring busca en esa ruta:




Pulsamos siguiente y seleccionamos "beans -http://www.org.springframework,org/schema/beans":



Nota de código:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


</beans>


3-Creamos el Bean y lo configuramos para la Inyección de dependencias:

Desde el asistente de creación de clases creamos nuestras clases java:






Ahora, creamos nuestra bean java(POJO):

-Package: com.cursospring.es
-Clase: BeanSaludo
- campos:
private String saludo; 

Le creamos los métodos de acceso getter y setter:



Código clase:

package com.cursospring.es;
public class BeanSaludo {
private String saludo;

public String getSaludo() {
return saludo;
}

public void setSaludo(String saludo) {
this.saludo= saludo;
}
}



Con este Bean y Spring vamos a realizar la DI o IoC.

Seleccionamos el archivo "applicationContext.xml" desde nuestar ventana de "Package Explorer" y econ el botón derecho del ratón mostramos el menú desde el que seleccionamos "new Bean definition" :



En esta ventana elegimos browser en el cuadro "bean definion file":


Aquí filtramos por nuestro fichero de configuración de beans:



Seleccionamos el tipo BeanSaludo:


Pulsamos Finish.

Con esto hemos modificado el contenido  contenido del archivo "applicationContext.xml".
Nos falta asignar un valor al campo "saludo":

   <property name="saludo" value="Hola Mundo"></property>

Este es el resultado final de la configuración del archivo "applicationContext.xml":


4- Ejecución aplicación:

Creamos la clase principal con un método "main":

-Pakage: com.cursospring.es
-Clase: Principal




Hay que seleccionar que nos cree el método main.

y codificas el siguiente contenido en la clase Principal:


package com.cursospring.es;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Principal {

   private static ApplicationContext context;

   public static void main(String[] args) {

context = new ClassPathXmlApplicationContext("applicationContext.xml");
        // BeanFactory es un supertipo de ApplicationContext
        // por lo que una asignación polimórfica
BeanFactory factory=context
BeanSaludo saludoBean=(BeanSaludo) factory.getBean("saludoBean");
System.out.println(saludoBean.getSaludo());

}

}


Seleccionas en el menú contextual sobre la clase "Princial" la opción de "Run as..."->Java aplication:

Y en la ventana inferior "Console" podrás ver la ejecución, con el respectivo saludo "hola Mundo":



Con esto finaliza el primer ejercicio del curso de Spring.

Puedes localizarme en mi canal de youtube: sgzurita













Comentarios

Entradas populares de este blog

Fundamentos Interfaces en Java 8

Curso java 8 Fundamentos Interfaces Java: A diferencia de las interfaces anteriores a java 8, en las nuevas interfaces de esta versión se puede tener diversos tipos de métodos nuevos. A saber: default. static private 1.Métodos Default: En esencia son métodos opcionales que no son necesitan ser para la implementados en las clase que se adhieren al contrato de nuestra interfaz.  Como beneficio directo de esta característica nos encontramos con las manos libres en cierto modo para modificar nuestras interfaces sin temer que el código que ya ha implementado nuestra interfaz necesite modificación alguna. Es importante destacar que esto no nos debe condicionar para programar de forma intensiva métodos de este tipo ya que se consideran métodos de carácter excepcional. Sintaxis:  public interface nombre_interfaz{         default [tipo_retorno] nombre_metodo{                [cuerpo...

Tipos ENUM en Java

Las enumeraciones es  una novedad que apareció en la versión 1.5 de java. En si, un enum es una lista de constantes con nombre que viene a sustituir las clásicas propiedades final declaradas en la interfaces o las clases. Con un enum definimos un nuevo tipo con un número de instancias discreta. Este nuevo tipo está limitado al listado de constantes que definimos en su declaración. El ejemplo clásico son los días de la semana: public enum DiaSemana{       LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO } Cada constante representa un ejemplar único del tipo de la enumeración. Esta característica, nos  permite realizar las comparaciones entre las referencias de tipo con el operador == y no es necesario utilizar el método equals().    Ejemplo: DiaSemana diaLibre = DiaSemana.SABADO; if( diaLibre == DiaSemana.SABADO ){    System.out.println("Hoy descansas"); }else{ //lo que se tenga que ejecutar en cual...

Teoría creacion de Beans en Spring

En una aplicación existen diversas clases organizadas en paquetes y estos en sus respectivos módulos. Si vamos a la base, nuestro elemento mínimo es la clase. Ésta clase está destinada a muchos objetivos, entre ellos, la creación de  de Beans. Los Beans en si mismos no son nada más que POJOs(Plain Old Java Objects) los cuales son clases que no dependen de ningún framework para su funcionamiento. Un Bean además de ser un POJO tiene unos elementos base que debe poseer: constructor por defecto(además otros que pueda poseer) campos para guardar la información métodos de establecimiento(getter y setter) Una vez que poseamos los Beans de nuestra aplicación nos surge un problema base: -El boilerplate code: secciones de código que son incluidas en múltiples lugares con pocas o incluso sin ninguna alteración. Bien, para nosotros, como programadores java, sabemos el incontable número de veces que tenemos que instanciar una y otra vez nuestros beans. Si vemos un ejemplo trad...