Spring Boot application.properties: Guia de configuració de bases de dades, missatgeria i seguretat

Guia completa de Spring Boot per configurar bases de dades, missatgeria i seguretat amb application.properties i YAML. Exemples de MySQL, MongoDB, Redis, Kafka, JWT i OAuth2, a més de logging i perfils per a desplegaments segurs a AWS/Azure.

domingo, 17 de agosto de 2025 • 3 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Spring Boot application.properties – Guia completa per configurar bases de dades, missatgeria i seguretat

Quan construeixes microserveis moderns amb Spring Boot, la teva aplicació sol interactuar amb bases de dades, caches, brokers de missatgeria, serveis d'autenticació i més. En lloc de hardcodejar configuracions, Spring Boot utilitza un mecanisme de configuració externalitzada a través d'application.properties o application.yml. A Q2BSTUDIO, empresa de desenvolupament de programari i aplicacions a mida, especialistes en intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis intel·ligència de negoci, ia per a empreses, agents IA i power bi, dissenyem solucions de programari a mida i consultoria per deixar els teus microserveis llestos per a producció.

1 MySQL Configuració

Spring Boot auto configura DataSource i JPA si detecta spring-boot-starter-data-jpa al classpath. Exemple application.properties

# =============================== MySQL Database Configuration ===============================

spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC

spring.datasource.username=root

spring.datasource.password=secret

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update

spring.jpa.show-sql=true

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

Notes bones pràctiques ddl-auto update és útil en desenvolupament; en producció utilitza validate o none. Per a secrets utilitza variables d'entorn, AWS Secrets Manager o HashiCorp Vault. Q2BSTUDIO implementa polítiques de ciberseguretat i gestió de secrets en desplegaments cloud aws i azure.

YAML equivalent

spring: datasource: url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC username: root password: secret driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: true properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect

2 MongoDB Configuració

Si afegeixes spring-boot-starter-data-mongodb, Spring Boot crea automàticament MongoTemplate. application.properties d'exemple

# =============================== MongoDB Configuration ===============================

spring.data.mongodb.uri=mongodb://localhost:27017/mydatabase

spring.data.mongodb.database=mydatabase

YAML equivalent

spring: data: mongodb: uri: mongodb://localhost:27017/mydatabase database: mydatabase

3 Redis Configuració

Per a caching o emmagatzematge key value amb spring-boot-starter-data-redis

# =============================== Redis Configuration ===============================

spring.data.redis.host=localhost

spring.data.redis.port=6379

spring.data.redis.password=

spring.data.redis.timeout=60000

YAML equivalent

spring: data: redis: host: localhost port: 6379 password: timeout: 60000

4 Apache Kafka Configuració

Per a microserveis orientats a esdeveniments amb spring-kafka

# =============================== Kafka Configuration ===============================

spring.kafka.bootstrap-servers=localhost:9092

spring.kafka.consumer.group-id=my-group

spring.kafka.consumer.auto-offset-reset=earliest

spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer

spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer

spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer

spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

YAML equivalent

spring: kafka: bootstrap-servers: localhost:9092 consumer: group-id: my-group auto-offset-reset: earliest key-deserializer: org.apache.kafka.common.serialization.StringDeserializer value-deserializer: org.apache.kafka.common.serialization.StringDeserializer producer: key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer

5 JWT Configuració

JWT no ve auto configurat, defineix propietats per a la teva capa de seguretat personalitzada

# =============================== JWT Configuration ===============================

jwt.secret=my-super-secret-key

jwt.expiration=3600000 # 1 hour in milliseconds

jwt.refresh-expiration=604800000 # 7 days

En entorns productius utilitza claus gestionades per serveis de secrets i rotació periòdica. Q2BSTUDIO integra solucions d'identitat i ciberseguretat amb JWT i MFA per a aplicacions a mida i programari a mida.

YAML equivalent

jwt: secret: my-super-secret-key expiration: 3600000 refresh-expiration: 604800000

6 OAuth2 Configuració

Per a login OAuth2 amb Google, GitHub o proveïdors externs utilitzant spring-boot-starter-oauth2-client

# =============================== OAuth2 Configuration Google Example ===============================

spring.security.oauth2.client.registration.google.client-id=your-client-id

spring.security.oauth2.client.registration.google.client-secret=your-client-secret

spring.security.oauth2.client.registration.google.scope=email,profile

spring.security.oauth2.client.registration.google.redirect-uri={baseUrl}/login/oauth2/code/{registrationId}

spring.security.oauth2.client.provider.google.authorization-uri=https://accounts.google.com/o/oauth2/auth

spring.security.oauth2.client.provider.google.token-uri=https://oauth2.googleapis.com/token

spring.security.oauth2.client.provider.google.user-info-uri=https://www.googleapis.com/oauth2/v3/userinfo

YAML equivalent

spring: security: oauth2: client: registration: google: client-id: your-client-id client-secret: your-client-secret scope: email,profile redirect-uri: {baseUrl}/login/oauth2/code/{registrationId} provider: google: authorization-uri: https://accounts.google.com/o/oauth2/auth token-uri: https://oauth2.googleapis.com/token user-info-uri: https://www.googleapis.com/oauth2/v3/userinfo

7 Logging per a Depuració

Un logging detallat és invaluable en integrar múltiples serveis

# =============================== Logging Configuration ===============================

logging.level.root=INFO

logging.level.org.springframework=DEBUG

logging.level.org.hibernate.SQL=DEBUG

logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE

YAML equivalent

logging: level: root: INFO org.springframework: DEBUG org.hibernate.SQL: DEBUG org.hibernate.type.descriptor.sql.BasicBinder: TRACE

8 Configuració per perfils

Utilitza fitxers específics per entorn per separar configuracions de desenvolupament i producció. Exemples de noms file based application-dev.properties application-prod.properties. També pots utilitzar application-dev.yml i application-prod.yml i activar perfils amb spring.profiles.active. A Q2BSTUDIO implementem pipelines CI CD que gestionen perfils i secrets en entorns cloud aws i azure per a desplegaments segurs.

Bones pràctiques addicionals

Utilitzar variables d'entorn per a credencials, xifrar secrets, auditar accessos i aplicar principis de menor privilegi. Monitoritza connexions i mètriques amb eines cloud i solucions d'observabilitat. Per a projectes que requereixen intel·ligència artificial o anàlisi de dades utilitza serveis intel·ligència de negoci i integració amb power bi. Q2BSTUDIO ofereix serveis integrals en intel·ligència artificial, ia per a empreses, desenvolupament d'agents IA i consultoria en power bi per millorar presa de decisions.

Conclusió

L'externalització de configuració amb application.properties i application.yml facilita portar aplicacions entre entorns i mantenir bones pràctiques operatives. Si necessites ajuda per configurar Spring Boot, arquitectures cloud, solucions de ciberseguretat o desenvolupar programari a mida i aplicacions a mida amb capacitats d'intel·ligència artificial, contacta amb Q2BSTUDIO especialistes en serveis cloud aws i azure, serveis intel·ligència de negoci, agents IA i power bi.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.