O documento apresenta Spring Boot, uma forma de iniciar aplicações Java em minutos. Ele explica como Spring Boot simplifica a configuração de projetos e permite focar no desenvolvimento ao invés de configurações. O documento também mostra passo a passo como iniciar uma aplicação simples com Spring Boot e como implantá-la na nuvem usando AWS Elastic Beanstalk.
3. @john_godoi
● ~ 6 anos de experiência com desenvolvimento Java
● Mestrando e graduado pela UNIFESP - SJC
○ Aprendizado de máquina e processamento de imagens (Java)
■ JavaCV, Gradle, JavaFX, JFreeChart, ...
○ Aplicações forenses e médicas
4. @john_godoi
● ~ 6 anos de experiência com desenvolvimento Java
● Mestrando e graduado pela UNIFESP - SJC
○ Aprendizado de máquina e processamento de imagens (Java)
■ JavaCV, Gradle, JavaFX, JFreeChart, ...
○ Aplicações forenses e médicas
● Trabalho atualmente na FITec há 6 meses em um projeto de
telecomunicações
○ OSGi, Cassandra, REST, Java 8, Mockito, maven…
5. @john_godoi
● ~ 6 anos de experiência com desenvolvimento Java
● Mestrando e graduado pela UNIFESP - SJC
○ Aprendizado de máquina e processamento de imagens (Java)
■ JavaCV, Gradle, JavaFX, JFreeChart, ...
○ Aplicações forenses e médicas
● Trabalho atualmente na FITec há 6 meses em um projeto de
telecomunicações
○ OSGi, Cassandra, REST, Java 8, Mockito, maven…
● Experiências anteriores
○ Spring, Hibernate, maven, BI, ...
7. Goals
● Apresentação voltada principalmente a principiantes
○ Irei mostrar do zero e explicar do zero
● Aos mais experimentes:
○ Talvez vejam algo novo
○ Talvez possam colaborar com alguma informação (fiquem à vontade)
9. O que é Spring?
● Inicialmente uma framework de Injeção de Dependências (DI)
● Mais leve do que as soluções Java EE
● Melhor arquitetura
● Atualmente:
○ Conjunto de frameworks que resolvem diversos problemas comuns do desenvolvimento de
softwares
○ Spring Data, Spring MVC, Spring
22. Como iniciar uma aplicação
● CLI
● Spring Initializer
● STS
● Gerenciadores de ciclo de vida
○ Maven
○ Gradle
23. Como iniciar uma aplicação
● CLI
● Spring Initializer
● STS
● Gerenciadores de ciclo de vida
○ Maven
○ Gradle
● Clonando um exemplo do github do spring boot
26. Protocolo HTTP e APIs REST
● HTTP
○ Protocolo web a nível de aplicação
○ Possui cabeçalho com metadados que permitem diferenciar requisições
27. Protocolo HTTP e APIs REST
● HTTP
○ Protocolo web a nível de aplicação
○ Possui cabeçalho com metadados que permitem diferenciar requisições
● API
○ Application Program Interface
28. Protocolo HTTP e APIs REST
● HTTP
○ Protocolo web a nível de aplicação
○ Possui cabeçalho com metadados que permitem diferenciar requisições
● API
○ Application Program Interface
● API Rest
○ API que se utiliza do protocolo HTTP para manipulação do programa
43. Getting Started
● Vamos iniciar de um exemplo existente de aplicação spring boot
○ git clone https://github.com/spring-guides/gs-rest-service/
● gradle.build
○ plugins para o gradle
○ Java 8
○ spring-boot-starter-web
○ spring-boot-starter-test
○ json dependency
44. O que nós já temos?
● Um servidor de aplicações tomcat em pé atendendo na porta 8080
● Uma aplicação que atende a requisições http
○ Recebendo parâmetros via queries parameters
○ Responde com um JSON
http://localhost:8080/greeting
{"id":1,"content":"Hello, World!"}
http://localhost:8080/greeting?name=John
{"id":2,"content":"Hello, John!"}
45. Vamos dar uma olhada no código
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
46. Vamos dar uma olhada no código
@RestController
public class GreetingController {
//...
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
}
49. Now what?
● Incluir um banco de dados para persistir nossos registros
● Criar o restante de nossa api REST
● Criar uma tela que consuma nossa API
● Fazer deploy na Amazon Web Services
50. Banco de dados
Adicionar a dependência:
“org.springframework.boot:spring-boot-starter-data-jpa”
Driver do banco a ser utilizado:
“com.h2database:h2” ou “org.postgresql:postgresql:9.4-1206-jdbc42”
51. JPA
● Como os objetos da aplicação com os dados do banco de dados?
52. JPA
● Como os objetos da aplicação com os dados do banco de dados?
● Especificação JavaEE
● Implementação mais utilizada: Hibernate
65. Spring-Boot-Actuator
Para subir uma aplicação Spring Boot para AWS precisamos que esta esteja
escutando na porta 5000.
Para fazer isso podemos nos utilizar do Spring Boot novamente.
66. Spring-Boot-Actuator
Para subir uma aplicação Spring Boot para AWS precisamos que esta esteja
escutando na porta 5000.
Para fazer isso podemos nos utilizar do Spring Boot novamente.
Bastar adicionar como dependência:
compile("org.springframework.boot:spring-boot-starter-actuator")
E o arquivo application.properties em /src/main/resources com:
server.port=5000