Como configurar meu ambiente para criar aplicações Java utilizando o Spring?
Published: 2020-04-30 16:24:02

Este é um artigo da Talita do presente para a Talita do futuro. Explico: Sou formada em Sistemas de Informação no IFPR e as aulas de programação, que tive na faculdade, tinham como referência o Java. Foram quatro longos anos estudando essa linguagem, projetos inacabados e muitas horas de sono dicadas a entender o mundo da programação.  Hoje, dois anos após a minha formatura, atuo no mercado de trabalho como desenvolvedora de sistemas em projetos criados em .net.  

Eu nunca tinha estudado C# antes e custei a confiar no meu potencial como dev. Até hoje sofro com cobranças internas em excesso e falta de confiança em mim mesmo, mas isso é assunto para outro artigo. O que realmente importa é que desde o começo eu vi muita semelhança na sintaxe do Java com o C# e por causa de todas as aulas de Programação Orientada a Objetos, Desenvolvimento de Sistemas I e II e Estruturas de Dados, quando abri o Visual Studio pela primeira vez e escrevi o meu primeiro Hello World em C# eu me senti muito à vontade. 

Apesar de todo amor envolvido com o C#, nos últimos meses tenho tido muita vontade de relembrar os velhos tempos com Java. Por coincidência, recentemente o Thiago Farias da Algaworks disponibilizou um curso de Spring Rest em Java. Foram quatro vídeo aulas de aproximadamente 1:30h, que eu assisti e coloquei em prática durante o final de semana. 

Por eu não trabalhar com Java, o objetivo desse artigo (depois de toda essa introdução) é demonstrar a configuração do Spring Boot para poder criar aplicações com Java.  

E porque a Talita do presente está escrevendo isso para a Talita do futuro? Porque eu não vi isso na faculdade, eu não tenho familiaridade com o Spring, mas gostei bastante de como ele funciona. Portanto, se daqui três ou quatro meses eu quiser criar um novo projeto em Java eu não vou sofrer para configurar o ambiente novamente, simples.  

Então vamos lá! 

O primeiro passo para desenvolver aplicações em Java é ter o JDK (Java Development Kit) instalado no computador. Diferente do C# que basta abrir a IDE e sair digitando código, o Java necessita de um ambiente de configuração um pouco mais específico. Para saber se você tem o Java instalado no seu computador é só abrir o terminal de comando do Windows e executar o comando: 

*java –version*

Se o Java estiver instalado, o cmd irá retornar as informações referente a instalação, igual na imagem abaixo: 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9e5guju9lsa0ji18yhgp.png)

Se você ainda não possui o JDK instalado na máquina, basta baixar o arquivo de instalação no site https://jdk.java.net e seguir as instruções do próprio instalador (next, next, next...). Atualmente, o Java está na versão 14, você pode utilizar versões mais antigas do JDK, a partir da 11. Se sua versão for anterior a isso, talvez esteja na hora de você começar a pensar em atualizar. 

Certo, com o JDK instalado, precisamos configurar as variáveis de ambiente do Java no Windows para que o compilador possa executar os códigos que serão criados (1). Essa configuração é bastante simples. Se você estiver utilizando o Windows 10, é só buscar por “variaveis” na área de pesquisa do Windows e abrir a correspondência “Editar as variáveis de ambiente do sistema”. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8pltg4l64gb9wh0khxjf.png)

Na caixa de propriedades do Sistema, na aba Avançado, escolha a opção “Variáveis de Ambiente”. Será aberto uma janela com todas as variáveis de usuário e as variáveis do sistema configuradas no seu computador. Em variáveis do sistema, clique em Novo. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/w38qpo9i5s94e7z61ibp.png)

Na janela que será aberta, defina o nome da variável como JAVA_HOME e informe o caminho do diretório onde foi realizada a instalação do JDK e clique em OK.  

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5lst54lx1shjg7t8djg5.png)

Agora, localize a variável de sistema chamada Path e clique em Editar. Em seguida, clique em Novo e adicione a variável %JAVA_HOME%\bin 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/gzpurei5kwaf0eps9132.png)

Excelente! Com o JAVA instalado e configurado no computador, podemos iniciar nosso primeiro projeto com o Spring Tools Suite. Mas, o que é o Spring? 

Spring é um conjunto de ferramentas que fornecem base para um conjunto de recursos e funcionalidades em desenvolvimento de software utilizando Java. Entre as diversas ferramentas listadas no site spring.io podemos destacar o Spring Framework que é responsável por fornecer de forma prática e fácil diversas configurações do projeto. Permitindo que o programador concentre mais tempo na lógica do negócio que pretende solucionar do que configurando arquivos para que o projeto funcione. Além do Spring Framework, existem diversos outros projetos que facilitam no desenvolvimento de software, entre eles o Sprng Data, Spring Cloud, Spring Boot, etc.  

Existem duas maneiras de se criar um projeto através do Spring: 1) utilizando o Spring initializr através do site https://start.spring.io/ ou 2) através do Spring Tools, neste caso é necessário realizar o download da ferramenta no site https://spring.io/tools. 

Embora as configurações sejam parecidas, utilizarei o Sprint Tools como referencia para este artigo, pois, além de criar um pacote com as configurações iniciais do projeto, o Spring Tools pode servir como uma IDE para o desenvolvimento do projeto. O Spring initializr vai gerar o pacote com as configurações do projeto, que você pode baixar para a sua máquina no formato .zip e depois executar em qualquer IDE que suporte Java, como Eclipse ou Netbeans, por exemplo. 

Com o Spring Tools aberto, vamos iniciar a criação de um novo projeto em File > New > Project. Aqui, vou demonstrar a criação de um projeto Spring Starter Project  

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/uuo4g3ok9grmlqbo3hz1.png)

Em seguida, precisamos definir as configurações do sistema. O campo Service URL corresponde ao domínio de hospedagem do projeto, caso você tenha um, neste caso podemos deixar como com a informação padrão do site start.spring.io. No campo Name, basta informar o nome do projeto. O Sprng irá criar as pastas do projeto no diretório padrão, informado pelo usuário no momento que abre a ferramenta pela primeira vez, mas caso queria alocar os diretórios em uma pasta específica, basta desmarcar a opção “Use default location” e informar o caminho do diretório no campo “Location”. 

No campo Type informamos o tipo do projeto, neste caso vamos criar um projeto Java utilizando o Maven(2) que é uma ferramenta de compilação que realiza a integração do projeto, gerenciando dependências, controlando versões, executando testes, etc. Os campos Packaging, Java version e Language manteremos da forma que está.  

Por padrão, o campo Group é configurado como um endereço de domínio de trás para frente. No Artifact repetimos o nome do projeto. Os demais campos manteremos como está, a não ser que queria definir alguma descrição para o projeto. Entretanto não mexeremos na Version e nem no Package. Abaixo, segue uma imagem da tela de Starter: 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/25xeosq2oba4gxa2ercd.png)

Na tela seguinte, vamos adicionar as primeiras dependências do projeto. Você poderá adicionar dependências no projeto sempre que quiser, mas algumas delas podem ser iniciadas com o projeto. Neste exemplo, vou utilizar a dependência Flyway Migration para criar as tabelas no banco de dados, Spring Boot DevTools e Spring Web. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rsu3kx4h920l3w7nqdpj.png)

Ao clicar em Finish, o Spring vai criar o projeto já configurado com as dependências informadas. O primeiro projeto pode demorar alguns minutos para ser carregado, uma vez que o Spring irá baixar as dependências e outros arquivos necessários para inicialização. Quando o processo do Spring for concluído, você terá o seu projeto listado na janela Project Explorer, com as dependências já configuradas no pom.xml e a classe de inicailização. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bhbmgarpbjj0wmcunfq8.png)

Agora é só começar a codar! Lets go dev! 

 
Referências 
(1) Por que configurar as variáveis de ambiente? Disponível em https://cursos.alura.com.br/forum/topico-por-que-configurar-as-variaveis-de-ambiente-24254 <último acesso em 29/04/2020>. 

(2) Iniciando com o Maven. Disponível em https://medium.com/java-e-arquitetura-de-forma-mastigada/iniciando-com-o-maven-a0d85ea26f13 <último acesso em 29/04/2020>.