En aquest tema, aprendrem com configurar fonts de dades en una aplicació Spring Boot. Les fonts de dades són essencials per a qualsevol aplicació que necessiti interactuar amb una base de dades. Spring Boot facilita aquesta configuració mitjançant propietats i anotacions.

Objectius

  • Entendre què és una font de dades.
  • Configurar una font de dades en una aplicació Spring Boot.
  • Utilitzar propietats de configuració per personalitzar la connexió a la base de dades.
  • Provar la configuració de la font de dades.

Què és una font de dades?

Una font de dades (DataSource) és un objecte que proporciona una connexió a una base de dades. En una aplicació Spring Boot, la font de dades és responsable de gestionar les connexions a la base de dades, incloent-hi la configuració de paràmetres com l'URL de la base de dades, l'usuari, la contrasenya, etc.

Configurant una font de dades

  1. Dependències necessàries

Primer, assegura't de tenir les dependències necessàries en el teu fitxer pom.xml (per a Maven) o build.gradle (per a Gradle). Per exemple, per a una base de dades MySQL:

pom.xml:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

build.gradle:

implementation 'mysql:mysql-connector-java'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

  1. Propietats de configuració

Spring Boot utilitza el fitxer application.properties o application.yml per configurar les propietats de la font de dades. Aquí tens un exemple de configuració per a una base de dades MySQL:

application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/nom_de_la_base_de_dades
spring.datasource.username=usuari
spring.datasource.password=contrasenya
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

application.yml:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/nom_de_la_base_de_dades
    username: usuari
    password: contrasenya
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

  1. Configuració avançada

A més de les propietats bàsiques, pots configurar altres paràmetres com el pool de connexions. Aquí tens un exemple utilitzant HikariCP, que és el pool de connexions per defecte en Spring Boot:

application.properties:

spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.max-lifetime=1800000

application.yml:

spring:
  datasource:
    hikari:
      maximum-pool-size: 10
      minimum-idle: 5
      idle-timeout: 30000
      max-lifetime: 1800000

  1. Provar la configuració

Per assegurar-te que la configuració de la font de dades és correcta, pots crear un simple repositori JPA i una entitat per provar la connexió a la base de dades.

Entitat:

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Usuari {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String nom;
    private String email;

    // Getters i setters
}

Repositori:

import org.springframework.data.jpa.repository.JpaRepository;

public interface UsuariRepository extends JpaRepository<Usuari, Long> {
}

Controlador:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UsuariController {
    @Autowired
    private UsuariRepository usuariRepository;

    @GetMapping("/usuaris")
    public List<Usuari> obtenirUsuaris() {
        return usuariRepository.findAll();
    }
}

Amb aquesta configuració, pots iniciar l'aplicació i accedir a http://localhost:8080/usuaris per veure si la connexió a la base de dades funciona correctament.

Resum

En aquesta secció, hem après com configurar una font de dades en una aplicació Spring Boot. Hem vist com afegir les dependències necessàries, configurar les propietats de la font de dades i provar la configuració amb un simple repositori JPA. Aquesta configuració és essencial per a qualsevol aplicació que necessiti interactuar amb una base de dades.

Curs de Spring Boot

Mòdul 1: Introducció a Spring Boot

Mòdul 2: Conceptes bàsics de Spring Boot

Mòdul 3: Construint serveis web RESTful

Mòdul 4: Accés a dades amb Spring Boot

Mòdul 5: Seguretat a Spring Boot

Mòdul 6: Proves a Spring Boot

Mòdul 7: Funcions avançades de Spring Boot

Mòdul 8: Desplegant aplicacions Spring Boot

Mòdul 9: Rendiment i monitorització

Mòdul 10: Millors pràctiques i consells

© Copyright 2024. Tots els drets reservats