Spring Boot
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.
Ātrais starts
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".
Klonēt savu repozitoriju
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
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>
Būvēt un palaist
./mvnw spring-boot:run
Serveris pēc noklusējuma darbojas uz http://localhost:8080.
Augšupielādēt izmaiņas
git add .
git commit -m "Initial setup"
git push origin main
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.
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
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.