Criando um Projeto Spring com o Spring Initalzr
Published: 2021-03-02 23:43:43

Para criar um projeto do zero Spring, é possível fazer isso de diversas maneiras possíveis, como utilizando o Spring Tools Service ou o site Spring Initalzr. Como essa segunda forma é mais fácil e intuitiva, vamos utilizá-la para criar o nosso projeto. Para começar, acesse o site https://start.spring.io/. Em Novembro de 2020, a interface do sistema estava assim:

spring initialzrEm Project, você pode escolher entre criar o projeto com Maven ou Gradle. Em Language, você seleciona a linguagem do seu projeto. Em Spring Boot, você escolhe a versão do Spring, a que vem marcada como padrão é sempre a última versão estável dele. Em Project Metadata, temos as configurações do projeto, como o grupo, nome, descrição, pacote (Jar ou War) e versão da linguagem escolhida. Em Dependencies, vamos adicionar todas as dependências iniciais que utilizaremos em nosso projeto Spring, no decorrer do projeto, é possível adicionar novas dependências no arquivo Pom.xml. Por fim, em Generate, vamos gerar o nosso projeto inicial em formato ZIP. Algumas dependências disponíveis no Spring e que são muito utilizadas são:

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

· DataJPA: Para utilizar o Spring Data e outros recursos da JPA e Hibernate.
· Web: Para criar um web service.
· DevTools: Ajuda com questões de restart e live reloading.
· Rest Repositories: Para utilizar o Spring Data Rest em nossos CRUD's.
· HSQLDB: Para utilizar esse banco de dados em memória.
· Security: permite utilizar as funcionalidade do Spring Security
· Oracle Driver: adiciona os drivers para se utilizar o banco de dados Oracle.
· Data MongoDB: adiciona as dependências do banco MongoDB;
· Lombok: permite utilizar as anotações do Lombok.
Selecionei algumas opções e configurações do projeto, conforme mostrado na imagem a seguir:

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

Clique em Generate e será baixado o seu projeto em formato ZIP. Descompacte ele na pasta do seu projeto e abre o STS (Spring Tools Service). Dentro do STS, clique em File → Import… → Existing Maven Projects → em Root Directory selecione o caminho do seu projeto → clique em Finish. Agora, o STS vai baixar todas as dependências necessárias para o projeto funcionar. No arquivo application.properties, é necessário adicionar as configurações do banco de dados (utilizei o banco de dados Oracle) e adicionar as dependências do Oracle no arquivo pom.xml. O arquivo application.properties vai ficar mais ou menos assim:

spring.datasource.url= jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=System
spring.datasource.password= suasenha
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.batch.job.enabled=false
spring.jpa.hibernate.ddl-auto = update
spring.jpa.show-sql=true

O campo username e senha são os dados de acesso do banco, em ddl-auto se colocar como "update" o banco será atualizado após cada salvamento de arquivo, se colocar como "create-drop" o banco inteiro será apagado e criado após cada modificação no código e com o "create", o banco é criado uma vez só. A url é a referência de onde está o banco (pode estar em um site externo).

Pom.xml (Project Object Model) é um arquivo que contém configurações do projeto usados pelo Maven para fazer buid (construir o projeto). Neste arquivo, são adicionadas as dependências de outras bibliotecas que utilizamos no projeto.

Agora, para rodar nosso projeto, basta clicar com o botão direito em cima da pasta do projeto (em Project Explorer) -> Run As… -> Spring Boot App. Com isso, nossa configuração inicial de um projeto Spring terminou. Para ver o resultado, basta abrir o seu navegador e acessar a URL http://localhost:8080 e ver a mensagem de "Ok" que aparece na página!