Spring Boot – Micro Serviços

spring-boot-cover_0 563px-Glassfish_logo.svg netbeans-ide-logo-icon

 

O conceito de arquitetura de micro serviços vem gradualmente encontrando o seu espaço no desenvolvimento de software. Como um sucessor da Arquitetura Baseada em Serviços (SOA – Service Oriented Architecture).

O Spring Boot é construído em cima do Spring Framework, e com isso ele obtém os benefícios de sua maturidade, escondendo a sua complexidade com instalações opinativas que auxiliam no desenvolvimento de micro serviços. Muito do Spring Boot foi construído pensado na produtividade do desenvolvedor, tornando conceitos como RESTful HTTP e ambientes de execução de aplicações Web embarcados fáceis de conectar e usar.

Com esse intuito montei esse post, usando o spring boot que define bem o conceito de micro serviços. Também iremos utilizar ele dentro de um servidor de aplicação, o glassfish na versão 4.1.1.

Vamos ao exemplo:

Dentro do POM.XML temos algumas configurações que precisamos fazer, dentro da tag build->plugins devemos adicionar o plugin do spring boot:

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

Alem disso também todas as dependências que iremos precisar. Como só é um exemplo simples iremos só adicionar a dependência do próprio sptring boot.

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.3.3.RELEASE</version>
</dependency>

A classe principal que irá iniciar o spring boot é bem simples e fácil de configurar, veja abaixo:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}

Com essas simples anotações já estamos inciando o spring boot.

O exemplo abaixo é um controlador de uma chamada RESTFULL no spring boot.

@RestController
public class ClienteController {

@RequestMapping(“/cliente”)
public Cliente getCliente() {
return new Cliente(1, “ONEIDE L SCHNEIDER”);
}
}

springbootrestexample

Existem inúmeras utilidades para o spring boot, para vários casos, é um excelente framework, alem de ser muito utilizado e recomendado .

Espero que tenham gostado, o exemplo pode ser baixado do github.

Até a próxima.

 

Fontes: spring.io, infoq.com, github.com