Spring Boot
Oversigt
Spring Boot er et Java-framework, der gør det nemt at oprette selvstændige applikationer i produktionskvalitet. Det leverer auto-konfiguration, indlejrede servere og en meningsdannende tilgang til at bygge REST API'er og webapplikationer.
Kom godt i gang
Opret repository fra skabelon
Gå til fanen Tools & Deployment på dit dashboard. Klik på "New Repository", vælg Spring Boot-skabelonen i dropdown-menuen, indtast et repository-navn og et subdomæne, og klik på "Create Repository".
Klon dit repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Konfigurer database
Opdater src/main/resources/application.properties med dine dashboard-loginoplysninger:
spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
Build og kør
./mvnw spring-boot:run
Serveren kører som standard på http://localhost:8080.
Push dine ændringer
git add .
git commit -m "Initial setup"
git push origin main
Lokal udvikling med Docker
Hvis du ikke har Java installeret lokalt, kan du bruge Docker til at bygge og køre din Spring Boot-applikation.
Kør kommandoer med Docker
# Build the project
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 ./mvnw clean package -DskipTests
# Run the application
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/*.jar
Databasekonfiguration
NStrim-platformen stiller en MySQL/MariaDB-database til rådighed. Konfigurer din application.properties-fil med de korrekte loginoplysninger.
Fuld konfiguration
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). Tjek dashboardets loginoplysningssektion for præcise værdier.Projektstruktur
├── src/
│ └── main/
│ ├── java/com/example/
│ │ ├── Application.java # Spring Boot entry point
│ │ ├── controllers/ # REST controllers
│ │ ├── models/ # JPA-entiteter
│ │ ├── repositories/ # Spring Data repositories
│ │ └── services/ # Forretningslogik
│ └── resources/
│ ├── application.properties # Konfiguration
│ ├── templates/ # Thymeleaf-skabeloner
│ └── static/ # CSS, JS, billeder
├── pom.xml # Maven-afhængigheder
└── Dockerfile # Docker-konfiguration
Almindelige opgaver
Opret en REST-controller
@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);
}
}
Opret en JPA-entitet
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// getters and setters
}
Opret et repository
public interface UserRepository extends JpaRepository<User, Long> {
Optional<User> findByEmail(String email);
}
Nyttige kommandoer
./mvnw spring-boot:run
Start udviklingsserver
./mvnw clean package
Build projektet
./mvnw test
Kør tests
./mvnw dependency:tree
Vis afhængighedstræ
Fejlfinding
Communications link failure / Connection refused
Årsag: Database-host er forkert eller utilgængelig.
Løsning: Tjek at spring.datasource.url matcher database-hosten fra dit dashboard.
Access denied for user
Årsag: Forkert brugernavn eller adgangskode.
Løsning: Tjek at spring.datasource.username og spring.datasource.password matcher dine dashboard-loginoplysninger præcis.
Port 8080 er allerede i brug
Løsning: Tilføj server.port=8081 til application.properties eller stop den anden proces.
Whitelabel Error Page (404)
Årsag: Ingen controller er mappet til den ønskede URL.
Løsning: Sørg for, at din controller har den korrekte @RequestMapping-annotation, og at applikationen scanner de rigtige pakker.