Desenvolvendo Sua Primeira Aplicação Spring Boot

Antes de começarmos, abra um terminal e vamos verificar a versão do Java e do Maven.

C:\Users\zigui>java -version

java version “1.8.0_241”

Java(TM) SE Runtime Environment (build 1.8.0_241-b07)

Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

C:\Users\zigui>mvn -v

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T16:00:29-03:00)

Maven home: C:\NovosProgramas\apache-maven-3.6.1\bin\..

Java version: 13.0.1, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-13.0.1

Default locale: pt_BR, platform encoding: Cp1252

OS name: “windows 10”, version: “10.0”, arch: “amd64”, family: “windows”

Criando o POM

Vamos criar um arquivo chamado pom.xml. O pom.xml é a receita que é utilizada para construir o projeto. Abra um editor de texto e digite o seguinte:

Para testar você pode executar o comando mvn package. Em uma IDE não há necessidade de fazer o comando.

Adicionando as Dependências Classpath

Spring Boot fornece um número de “Iniciadores” que permite que você adicione jars para o seu classpath.

Nossas aplicações para teste de fumaça utiliza o spring-boot-starter-parent dentro da seção parent do POM.

O spring-boot-starter-parent é um iniciador especial que fornece configurações padrões do Maven.

Também fornece uma seção dependency-management que você pode omitir a tag version.

Outros “Iniciadores” fornecem dependências que você precisará quando desenvolver um tipo específico de aplicação.

Se formos desenvolver uma aplicação web, nós precisaremos adicionar a dependência spring-boot-starter-web.

Antes disso execute o comando: mvn dependency:tree

 [INFO]

[INFO] ———————–< com.example:myproject >————————

[INFO] Building myproject 0.0.1-SNAPSHOT

[INFO] ——————————–[ jar ]———————————

[INFO]

[INFO] — maven-dependency-plugin:3.1.1:tree (default-cli) @ myproject —

[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT

[INFO] ————————————————————————

[INFO] BUILD SUCCESS

[INFO] ————————————————————————

[INFO] Total time:  12.521 s

[INFO] Finished at: 2020-02-04T09:35:01-03:00

[INFO] ————————————————————————

O comando mvn dependency:tree imprime a árvore de dependência do seu projeto. Você pode ver as dependências que o spring-boot-starter-parent fornece.

Para adicionar as dependências necessária, edite o seu pom.xml e adicione a dependência spring-boot-starter-web abaixo da seção parent.

Execute novamente o mvn dependency:tree e verá que será adicionada mais dependências no projeto como o Tomcat web server e o Spring Boot.

Escrevendo o Código

Para terminar nossa aplicação, nós precisamos criar um arquivo java. Por padrão, o Maven compila o código fonte da pasta src/main/java, então nós precisamos criar essa estrutura e depois criar um arquivo java.

No fim o caminho desse arquivo ficará assim: src/main/java/Example.java. Vamos criar o arquivo Example com o seguinte código:

Apesar de ter pouco código, há muita coisa acontecendo. Iremos ver as partes principais.

As Anotações @RestController e @RequestMapping

A primeira anotação da nossa classe Example é a @RestController. Isso é conhecido como uma anotação estereotipa (stereotype annotation).

Ela fornece dicas para as pessoas que estão lendo o código e para o Spring é fornecido uma regra específica.

Nesse caso, nossa classe é uma web @Controller, o Spring entende que essa classe irá manipular requisições vinda da web.

A anotação @RequestMapping fornece informações sobre o “roteamento”. No Spring qualquer requisição HTTP com o caminho / é mapeado pelo método home.

A anotação @RestController diz ao Spring para renderizar o resultado e retornar para o requisitor.

As anotações @RestController e @RequestMapping são anotações do Spring MVC e não do Spring Boot.

A Anotação @EnableAutoConfiguration

O segundo nível de anotação é o @EnableAutoConfiguration. Essa anotação diz ao Spring Boot “se virar” com a configuração do Spring, baseados nas dependências que você adicionou.

O spring-boot-starter-web adiciona o Tomcat e o Spring MVC, a autoconfiguração assume que você é um desenvolvedor web e configura o Spring de acordo com esse cenário.

Iniciadores e Autoconfiguração

Autoconfiguração é projetado para trabalhar bem com os “Iniciadores”, mas os dois conceitos não estão ligados.

Você é livre para escolher dependências externas dos iniciadores. Ainda assim o Spring Boot fará a melhor configuração para a sua aplicação.

O Método “main”

A parte final da nossa aplicação é o método main. Esse é apenas o método padrão do Java para inicializar uma aplicação.

Nosso método main é controlado pela classe SpringApplication do Spring Boot que executa o run.

SpringApplication sobe a nossa aplicação, iniciando o Spring, o qual inicia a autoconfiguração do Tomcat web server.

Nós precisamos passar Example.class como argumento para o método run para dizer ao SpringApplication que é o primeiro componente Spring.

O args array é também passado para expor quaisquer argumentos da linha de comando.

Fonte: https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/reference/html/getting-started.html#getting-started-first-application

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!