Antes de comenzar quizás te interese leer :
- Microservicios
- WildFly Swarm y Microservicios
- Payara Micro y Microservicios
- Spring Boot Microservicios
Es turno para que usemos Spring Boot con una configración manual y ejecutemos nuestra aplicación con Payara Micro y no con un Tomcat embebido.
Pasos
- Crear un proyecto Maven Web
- Agregar la dependencia de Servlet 3.0
- Agregar dependencias de Spring Boot
- Configurar arranque de Spring Boot
- Agregar un Controller
- Ejecutar la aplicacion
1. Crear un proyecto Maven Web
Esto nos crea un proyecto Web clásico. Es decir debemos hacer un pequeño cambio para colocar la versión servlet 3.0. Colocamos el siguiente contenido dentro del archivo web.xml
.
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
2. Agregar la dependencia de Servlet 3.0
En nuestro pom.xml
:
1
2
3
4
5
6
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
3. Agregar dependencias de Spring Boot
Spring Boot usa dependencias configuradas como parent. Pero no lo vamos hacer asi ya que nuestro proyecto puede depender de un parent de nosotros mismos. Usaremos el sistema de <dependencyManagement>
de Maven para esto. En nuestro pom.xml
:
1
2
3
4
5
6
7
8
9
10
11
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.3.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Agregamos el starter
para web spring-boot-starter-web
. Esta dependencia por defecto incluye Tomcat
. Lo vamos excluir ya que no lo usaremos.
1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
4. Configurar arranque de Spring Boot
Ahora debemos crear una clase para el arranque y configuración automática de Spring Boot. Esto es similar a la clase que Spring Boot agrega por defecto cuando creamos el proyecto con el mismo.
En la ruta src/main/java/org/acme
:
5. Agregar un Controller
Creamos una clase controller en el paquete org.acme
:
1
2
3
4
5
6
7
8
9
10
11
package org.acme;
@Controller
public class HelloController {
@RequestMapping("/")
@ResponseBody
public String hello(){
return "Hola Mundo";
}
}
6. Ejecutar la aplicacion
Ahora solo compilamos, empaquetamos y corremos la aplicacion:
Desde el directorio target
corremos la aplicación. Ten en cuenta que tu versión de Payara puede ser diferente:
Ahora tenemos nuestra aplicación corriendo con un servidor Payara Micro.
Ya podemos navegar a la URL localhost:8080/spring-boot-payara
Notas Finales
De esta manera podemos usar Spring Boot en cualquier servidor o contenedor de aplicaciones. El procedimiento es similar cuando quieras usar por ejemplo WildFly Swarm.