Spring Boot

Pilnīga izvietošanas rokasgrāmata: Spring Boot NStrim platformā

Pārskats

Spring Boot ir Java ietvars, kas atvieglo patstāvīgu, ražošanai gatavu lietojumprogrammu izveidi. Tas nodrošina automātisko konfigurāciju, iegultos serverus un pārliecinātu pieeju REST API un tīmekļa lietojumprogrammu veidošanai.

Pirms sākat
Pārliecinieties, ka jūsu vadības panelis ir atvērts - jums būs nepieciešami tur redzamie Git piekļuves dati. Šī veidne ietver Spring Web, Spring Data JPA, MySQL draiveri un Thymeleaf veidņu dzinēju.

Ātrais starts

1

Izveidot repozitoriju no veidnes

Savā vadības panelī atveriet cilni Tools & Deployment. Noklikšķiniet uz pogas "New Repository", izvēlieties Spring Boot veidni no nolaižamā saraksta, ievadiet repozitorija nosaukumu un apakšdomēnu, un noklikšķiniet "Create Repository".

2

Klonēt savu repozitoriju

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

Konfigurēt datubāzi

Atjauniniet src/main/resources/application.properties ar jūsu vadības paneļa piekļuves datiem:

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

Būvēt un palaist

./mvnw spring-boot:run

Serveris pēc noklusējuma darbojas uz http://localhost:8080.

5

Augšupielādēt izmaiņas

git add .
git commit -m "Initial setup"
git push origin main
Katrs push uz Git automātiski izvieto jūsu lietojumprogrammu. Pārbaudiet moduļa darba URL savā vadības panelī, lai redzētu savu tiešsaistes vietni.

Lokālā izstrāde ar Docker

Ja jums nav lokāli instalēts Java, varat izmantot Docker, lai būvētu un palaistu savu Spring Boot lietojumprogrammu.

Kas ir Docker?
Docker izveido izolētus konteinerus ar visu nepieciešamo programmatūru (Java, Maven), neinstalējot tos jūsu datorā.

Komandu izpilde ar Docker

# Būvēt projektu
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 ./mvnw clean package -DskipTests

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

Datubāzes konfigurācija

NStrim platforma nodrošina jums MySQL/MariaDB datubāzi. Konfigurējiet savu application.properties failu ar pareizajiem piekļuves datiem.

Pilna konfigurācija

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
Svarīgi
Jūsu datubāzes nosaukums un lietotājvārds parasti sakrīt ar jūsu vadības paneļa lietotājvārdu (piemēram, student01). Pārbaudiet vadības paneļa piekļuves datu sadaļu, lai iegūtu precīzas vērtības.

Projekta struktūra

├── src/
│   └── main/
│       ├── java/com/example/
│       │   ├── Application.java          # Spring Boot ieejas punkts
│       │   ├── controllers/              # REST kontrolleri
│       │   ├── models/                   # JPA entītijas
│       │   ├── repositories/             # Spring Data repozitoriji
│       │   └── services/                 # Biznesa loģika
│       └── resources/
│           ├── application.properties    # Konfigurācija
│           ├── templates/                # Thymeleaf veidnes
│           └── static/                   # CSS, JS, attēli
├── pom.xml                               # Maven atkarības
└── Dockerfile                            # Docker konfigurācija
        

Bieži veicamie uzdevumi

REST kontrollera izveide

@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 entītijas izveide

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

    private String name;
    private String email;

    // getters and setters
}

Repozitorija izveide

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

Noderīgas komandas

./mvnw spring-boot:run Palaist izstrādes serveri
./mvnw clean package Būvēt projektu
./mvnw test Palaist testus
./mvnw dependency:tree Parādīt atkarību koku

Problēmu novēršana

Communications link failure / Connection refused

Iemesls: Datubāzes resursdators ir nepareizs vai nav pieejams.

Risinājums: Pārbaudiet, vai spring.datasource.url atbilst datubāzes resursdatoram no jūsu vadības paneļa.

Access denied for user

Iemesls: Nepareizs lietotājvārds vai parole.

Risinājums: Vēlreiz pārbaudiet, vai spring.datasource.username un spring.datasource.password precīzi sakrīt ar jūsu vadības paneļa piekļuves datiem.

Port 8080 already in use

Risinājums: Pievienojiet server.port=8081 failā application.properties vai apturiet otru procesu.

Whitelabel Error Page (404)

Iemesls: Nav kontrollera, kas kartēts uz pieprasīto URL.

Risinājums: Pārliecinieties, ka jūsu kontrollerim ir pareiza @RequestMapping anotācija un lietojumprogramma skenē pareizās pakotnes.

Izvietošanas process

Koda izmaiņas git push mvn package Tiešsaistē!
Papildu informācijai apmeklējiet oficiālo Spring Boot dokumentāciju.