Instituto Federal de Educação, Ciência e Tecnologia da Paraíba - IFPB - Campus CG / PB
Disciplina: Programação III.
Neste repositório, encontram-se exemplos de código utilizados em sala de aula. Os códigos não devem ser usados como único material de referência para estudo. Há trechos de códigos incompletos, com erros e/ou outros problemas de implementação, os quais devem ser analisados pelo aluno como exercício de programação.
- Como projetar e implementar aplicações Web coorporativas usando framework Spring
- Implementar o front-end e back-end de uma aplicação Web típica
- Operações CRUD, submissão de formulários HTML, validação e integração com banco de dados
- Spring ecossistema: Spring Web MVC, Spring Integration, Spring Testing, Spring Boot, Spring Data JPA, Spring Security e Spring AOP
- No Spring Security, como realizar autenticação com login, gerência de sessões e autorização baseada em privilégios
- Discutir boas práticas no projeto de aplicações orientadas a microserviços
- Construir REST APIs e Aplicações Web com Spring MVC, Thymeleaf, Bootstrap CSS
- Persistência em banco de dados usando Spring Data JDBC/JPA, MySQL/MariaDB, Flyway
- Como utilizar ORM Frameworks (e.g., Hibernate)
- Setup do desenvolvimento local com Docker, Docker Compose, Testcontainers
- Como executar o banco de dados em um contêiner Docker
- Usar o JUnit, AssertJ, Mockito para testes
- Empacotar a aplicação Spring Boot (JAR), construir imagens Docker eficientes usando Dockerfiles e boas práticas de empacotamento em camadas, publicar em registry e fazer o deployment com contêineres de banco de dados e da aplicação, para melhor portabilidade entre diferentes ambientes
Os principais materiais de estudo usados na disciplina são os seguintes livros: Spring Start Here e Use a Cabeça! HTML e CSS. Outras fontes de leitura serão indicadas pelo professor.
As documentações oficiais:
Outros links:
- Spring initializr para gerar projetos. Alternativamente, pode-se usar Spring Boot CLI e o comando
spring initvia linha de comando (instalável via SDKMAN) com parâmetros, por exemplo:spring init \ --name=my-web-app \ --groupId=com.example \ --artifactId=my-web-app \ --package-name=com.example.mywebapp \ --dependencies=web,security,data-jpa,mariadb,docker-compose,testcontainers,thymeleaf,validation,flyway \ --java-version=21 \ --packaging=jar \ --version=0.0.1-SNAPSHOT \ --boot-version=3.5.14 \ --build=maven \ my-web-app
Nota: Se você quiser aprender mais sobre o comando spring init da CLI, você pode executar o comando spring help init. Para ver quais dependências podem ser adicionadas, execute o comando spring init --list.
- Um navegador (Firefox, Brave, Google Chrome, Opera, Safari, etc.)
- Uma distribuição OpenJDK (e.g., Amazon Correto) - pode ser instalada via SDKMAN
- IntelliJ IDEA
- Apache Maven
- Docker Desktop
- Um editor de texto (e.g., Visual Studio Code ou TRAE)
- Spring Boot CLI (instalável via SDKMAN) para usar o comando
spring init - Algumas extensões do Visual Studio Code, que serão sugeridas pelo professor.
Pode-se obter apenas os códigos ou, alternativamente, utilizar o Git para clonar todo o repositório funcional e seu histórico de versões:
$ git clone https://github.com/cesarvasconcelos/p3.git
- Prof. Dr. César Vasconcelos (cesarocha@ifpb.edu.br) - GitHub Page
- Pré-requisitos: WSL instalado (Windows 10/11) e o arquivo
D:\ubuntu-docker.tardisponível. - Execute os comandos no PowerShell, dentro da pasta do seu usuário:
D:\Users\<sua-matrícula>.
-
Abra o PowerShell.
-
Se necessário, navegue até a sua pasta de usuário:
cd D:\Users\<sua-matrícula>
-
Importe a imagem do Ubuntu (use TAB para autocompletar o caminho):
wsl --import Ubuntu D:\Users\<sua-matrícula> D:\ubuntu-docker.tar
-
Listar as distribuições instaladas:
wsl -l -
Iniciar o Ubuntu:
wsl -d Ubuntu -
Verificar se o Ubuntu possui o Docker:
docker version
-
Faça a integração do Docker com IntelliJ conforme descrito na documentação oficial do IntelliJ.
Observações:
- Use aspas nos caminhos, somente se houver espaços.