DEV Community

Guilherme Manzano
Guilherme Manzano

Posted on

1

Criando um Projeto Spring com o Spring Initalzr

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

· 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

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!

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay