@Value
1. application.yaml:
server:
port: 9999
spring:
profiles:
include:
- db
- redis
- common
2. application-common.yaml:
parvin:
name: Parvin
surname: Etibarli
age: 32
lessons:
- OCA
- OCP
- MS
books:
oca: 1
ocp: 2
ms: 3
personMap:
one:
name: Ali
surname: Aliyev
two:
name: Vali
surname: Valiyev
3. Person class:
package com.example.redis.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String name;
private String surname;
}
4. Student class:
package com.example.redis.dto;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Data
@Component
@ConfigurationProperties(prefix = "parvin")
public class Student {
private String name;
private String surname;
private Integer age;
private List<String> lessons;
private Map<String, Integer> books;
private Map<String, Person> personMap;
}
5. Example:
package com.example.redis.config;
import com.example.redis.dto.Student;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class PropertiesExample {
private final Student student;
@Value(value = "${parvin.name}")
private String name;
@Value(value = "${parvin.surname}")
private String surname;
@Value(value = "${parvin.age}")
private Integer age;
@PostConstruct
public void print() {
System.out.println(name);
System.out.println(surname);
System.out.println(age);
System.out.println("----------------------------------------");
System.out.println(student);
}
}
Комментарии
Отправить комментарий