Aperçu

Spring Boot est un framework Java qui facilite la création d'applications autonomes de qualité production. Il fournit la configuration automatique, des serveurs embarqués et une approche structurée pour créer des API REST et des applications web.

Avant de commencer
Assurez-vous que votre tableau de bord est ouvert - vous aurez besoin des identifiants Git qui y sont affichés. Ce modèle inclut Spring Web, Spring Data JPA, le pilote MySQL et le moteur de templates Thymeleaf.

Démarrage rapide

1

Créer un dépôt à partir du modèle

Sur votre tableau de bord, allez dans l'onglet Tools & Deployment. Cliquez sur le bouton "New Repository", sélectionnez le modèle Spring Boot dans le menu déroulant, saisissez un nom de dépôt et un sous-domaine, puis cliquez sur "Create Repository".

2

Cloner votre dépôt

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Configurer la base de données

Mettez à jour src/main/resources/application.properties avec les identifiants de votre tableau de bord :

spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
4

Construire et exécuter

./mvnw spring-boot:run

Le serveur s'exécute par défaut sur http://localhost:8080.

5

Pousser vos modifications

git add .
git commit -m "Initial setup"
git push origin main
Chaque push vers Git déploie automatiquement votre application. Consultez l'URL de travail du module sur votre tableau de bord pour voir votre site en ligne.

Développement local avec Docker

Si vous n'avez pas Java installé localement, vous pouvez utiliser Docker pour construire et exécuter votre application Spring Boot.

Qu'est-ce que Docker ?
Docker crée des "conteneurs" isolés contenant tous les logiciels nécessaires (Java, Maven) sans les installer sur votre ordinateur.

Exécuter des commandes avec Docker

# Construire le projet
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 ./mvnw clean package -DskipTests

# Exécuter l'application
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/*.jar

Configuration de la base de données

La plateforme NStrim met à votre disposition une base de données MySQL/MariaDB. Configurez votre fichier application.properties avec les bons identifiants.

Configuration complète

spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Important
Le nom de votre base de données et votre nom d'utilisateur sont généralement identiques à votre nom d'utilisateur du tableau de bord (par ex. student01). Consultez la section identifiants de votre tableau de bord pour les valeurs exactes.

Structure du projet

├── src/
│   └── main/
│       ├── java/com/example/
│       │   ├── Application.java          # Point d'entrée Spring Boot
│       │   ├── controllers/              # Contrôleurs REST
│       │   ├── models/                   # Entités JPA
│       │   ├── repositories/             # Repositories Spring Data
│       │   └── services/                 # Logique métier
│       └── resources/
│           ├── application.properties    # Configuration
│           ├── templates/                # Templates Thymeleaf
│           └── static/                   # CSS, JS, images
├── pom.xml                               # Dépendances Maven
└── Dockerfile                            # Config Docker
        

Tâches courantes

Créer un contrôleur REST

@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping
    public List<User> getAll() {
        return userRepository.findAll();
    }

    @PostMapping
    public User create(@RequestBody User user) {
        return userRepository.save(user);
    }
}

Créer une entité JPA

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // getters et setters
}

Créer un repository

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByEmail(String email);
}

Commandes utiles

./mvnw spring-boot:run Démarrer le serveur de développement
./mvnw clean package Construire le projet
./mvnw test Exécuter les tests
./mvnw dependency:tree Afficher l'arbre des dépendances

Dépannage

Communications link failure / Connection refused

Cause : L'hôte de la base de données est incorrect ou non accessible.

Solution : Vérifiez que spring.datasource.url correspond à l'hôte de la base de données indiqué sur votre tableau de bord.

Access denied for user

Cause : Nom d'utilisateur ou mot de passe incorrect.

Solution : Vérifiez que spring.datasource.username et spring.datasource.password correspondent exactement aux identifiants de votre tableau de bord.

Le port 8080 est déjà utilisé

Solution : Ajoutez server.port=8081 à application.properties ou arrêtez l'autre processus.

Whitelabel Error Page (404)

Cause : Aucun contrôleur n'est associé à l'URL demandée.

Solution : Assurez-vous que votre contrôleur a la bonne annotation @RequestMapping et que l'application analyse les bons packages.

Flux de déploiement

Modification du code git push mvn package En ligne !
Pour plus d'informations, consultez la documentation officielle Spring Boot.