Spring Boot
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.
Pierwsze kroki
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".
Sklonuj repozytorium
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
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>
Zbuduj i uruchom
./mvnw spring-boot:run
Serwer domyślnie działa pod adresem http://localhost:8080.
Wypchnij swoje zmiany
git add .
git commit -m "Initial setup"
git push origin main
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.
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
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.