Ülevaade

Spring Boot on Java raamistik, mis muudab eraldiseisvate, tootmisvalmis rakenduste loomise lihtsaks. See pakub automaatset seadistamist, manustatud servereid ja eelistatud lähenemist REST API-de ja veebirakenduste ehitamisele.

Enne alustamist
Veendu, et sinu töölaud on avatud - vajad seal kuvatavaid Giti sisselogimisandmeid. See mall sisaldab Spring Web'i, Spring Data JPA-d, MySQL draiverit ja Thymeleaf mallisüsteemi.

Kiirjuhend

1

Loo repositoorium mallist

Mine oma töölaual vahekaardile Tools & Deployment. Klõpsa nuppu "New Repository", vali rippmenüüst Spring Boot mall, sisesta repositooriumi nimi ja alamdomeen ning klõpsa "Create Repository".

2

Klooni oma repositoorium

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

Seadista andmebaas

Uuenda src/main/resources/application.properties oma töölaua sisselogimisandmetega:

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

Ehita ja käivita

./mvnw spring-boot:run

Server töötab vaikimisi aadressil http://localhost:8080.

5

Saada oma muudatused üles

git add .
git commit -m "Initial setup"
git push origin main
Iga push Giti juurutab sinu rakenduse automaatselt. Kontrolli oma Mooduli töö-URL-i töölaual, et näha oma live-saiti.

Kohalik arendus Dockeriga

Kui sul ei ole Javat kohalikult paigaldatud, saad Spring Boot rakenduse ehitamiseks ja käivitamiseks kasutada Dockerit.

Mis on Docker?
Docker loob isoleeritud "konteinerid" kogu vajaliku tarkvaraga (Java, Maven), ilma et peaksid neid oma arvutisse paigaldama.

Käskude käivitamine Dockeriga

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

# Käivita rakendus
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/*.jar

Andmebaasi seadistamine

NStrim-platvorm pakub sulle MySQL/MariaDB andmebaasi. Seadista oma application.properties fail õigete sisselogimisandmetega.

Täielik seadistus

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
Tähtis
Sinu andmebaasi nimi ja kasutajanimi on tavaliselt samad mis sinu töölaua kasutajanimi (nt student01). Täpseid väärtusi kontrolli oma töölaua sisselogimisandmete sektsioonist.

Projekti struktuur

├── src/
│   └── main/
│       ├── java/com/example/
│       │   ├── Application.java          # Spring Booti sisendpunkt
│       │   ├── controllers/              # REST kontrollerid
│       │   ├── models/                   # JPA olemid
│       │   ├── repositories/             # Spring Data repositooriumid
│       │   └── services/                 # Äriloogika
│       └── resources/
│           ├── application.properties    # Seadistus
│           ├── templates/                # Thymeleaf mallid
│           └── static/                   # CSS, JS, pildid
├── pom.xml                               # Maven sõltuvused
└── Dockerfile                            # Dockeri seadistus
        

Levinud ülesanded

REST kontrolleri loomine

@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);
    }
}

JPA olemi loomine

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

    private String name;
    private String email;

    // getterid ja setterid
}

Repositooriumi loomine

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

Kasulikud käsud

./mvnw spring-boot:run Käivita arendusserver
./mvnw clean package Ehita projekt
./mvnw test Käivita testid
./mvnw dependency:tree Kuva sõltuvuste puu

Tõrkeotsing

Communications link failure / Connection refused

Põhjus: Andmebaasi host on vale või pole kättesaadav.

Lahendus: Kontrolli, et spring.datasource.url vastaks töölaualt saadud andmebaasi hostile.

Access denied for user

Põhjus: Vale kasutajanimi või parool.

Lahendus: Kontrolli, et spring.datasource.username ja spring.datasource.password vastaksid täpselt sinu töölaua sisselogimisandmetele.

Port 8080 on juba kasutusel

Lahendus: Lisa server.port=8081 faili application.properties või peata teine protsess.

Whitelabel Error Page (404)

Põhjus: Soovitud URL-ile pole ühtegi kontrollerit määratud.

Lahendus: Veendu, et sinu kontrolleril on õige @RequestMapping annotatsioon ja rakendus skaneerib õigeid pakette.

Juurutamise töövoog

Koodimuudatus git push mvn package Live!
Lisainfo saamiseks külasta ametlikku Spring Boot dokumentatsiooni.