Przegląd

Spring Boot to framework Java, który ułatwia tworzenie samodzielnych, gotowych do produkcji aplikacji. Oferuje automatyczną konfigurację, wbudowane serwery oraz przemyślane podejście do budowania REST API i aplikacji webowych.

Zanim zaczniesz
Upewnij się, że masz otwarty pulpit – będą ci potrzebne wyświetlone tam dane logowania do Git. Ten szablon zawiera Spring Web, Spring Data JPA, sterownik MySQL oraz silnik szablonów Thymeleaf.

Pierwsze kroki

1

Utwórz repozytorium z szablonu

Na pulpicie przejdź do zakładki Tools & Deployment. Kliknij przycisk "New Repository", wybierz szablon Spring Boot z listy rozwijanej, wpisz nazwę repozytorium i subdomenę, a następnie kliknij "Create Repository".

2

Sklonuj repozytorium

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

Skonfiguruj bazę danych

Zaktualizuj src/main/resources/application.properties używając danych z pulpitu:

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

Zbuduj i uruchom

./mvnw spring-boot:run

Serwer domyślnie działa pod adresem http://localhost:8080.

5

Wypchnij swoje zmiany

git add .
git commit -m "Initial setup"
git push origin main
Każde wypchnięcie do Git automatycznie wdraża twoją aplikację. Sprawdź adres Module Work URL na pulpicie, aby zobaczyć działającą stronę.

Lokalny rozwój z Dockerem

Jeśli nie masz lokalnie zainstalowanej Javy, możesz użyć Dockera, aby zbudować i uruchomić swoją aplikację Spring Boot.

Czym jest Docker?
Docker tworzy izolowane "kontenery" zawierające całe potrzebne oprogramowanie (Java, Maven) bez instalowania go na twoim komputerze.

Uruchamianie komend z Dockerem

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

# Uruchom aplikację
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/*.jar

Konfiguracja bazy danych

Platforma NStrim udostępnia bazę danych MySQL/MariaDB. Skonfiguruj plik application.properties z poprawnymi danymi logowania.

Pełna konfiguracja

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
Ważne
Nazwa bazy danych i nazwa użytkownika są zwykle takie same jak twoja nazwa użytkownika z pulpitu (np. student01). Sprawdź sekcję danych logowania na pulpicie, aby uzyskać dokładne wartości.

Struktura projektu

├── src/
│   └── main/
│       ├── java/com/example/
│       │   ├── Application.java          # Punkt wejścia Spring Boot
│       │   ├── controllers/              # Kontrolery REST
│       │   ├── models/                   # Encje JPA
│       │   ├── repositories/             # Repozytoria Spring Data
│       │   └── services/                 # Logika biznesowa
│       └── resources/
│           ├── application.properties    # Konfiguracja
│           ├── templates/                # Szablony Thymeleaf
│           └── static/                   # CSS, JS, obrazy
├── pom.xml                               # Zależności Maven
└── Dockerfile                            # Konfiguracja Docker
        

Typowe zadania

Tworzenie kontrolera 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);
    }
}

Tworzenie encji JPA

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

    private String name;
    private String email;

    // gettery i settery
}

Tworzenie repozytorium

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

Przydatne komendy

./mvnw spring-boot:run Uruchom serwer deweloperski
./mvnw clean package Zbuduj projekt
./mvnw test Uruchom testy
./mvnw dependency:tree Pokaż drzewo zależności

Rozwiązywanie problemów

Communications link failure / Connection refused

Przyczyna: Host bazy danych jest nieprawidłowy lub niedostępny.

Rozwiązanie: Sprawdź, czy spring.datasource.url odpowiada hostowi bazy danych z twojego pulpitu.

Access denied for user

Przyczyna: Nieprawidłowa nazwa użytkownika lub hasło.

Rozwiązanie: Sprawdź dwukrotnie, czy spring.datasource.username i spring.datasource.password dokładnie odpowiadają danym logowania z pulpitu.

Port 8080 jest już używany

Rozwiązanie: Dodaj server.port=8081 do pliku application.properties lub zatrzymaj inny proces.

Whitelabel Error Page (404)

Przyczyna: Żaden kontroler nie jest powiązany z żądanym adresem URL.

Rozwiązanie: Upewnij się, że twój kontroler ma poprawną adnotację @RequestMapping, a aplikacja skanuje właściwe pakiety.

Proces wdrażania

Zmiana kodu git push mvn package Live!
Aby uzyskać więcej informacji, odwiedź oficjalną Dokumentację Spring Boot.