해결된 질문
작성
·
42
0
외부 설정 쪽을 보고 있는데요.
application.yml 에서 설정한 값을 safe 하게 사용하기 위한 코드인데요.
내부 클래스에 static 을 사용한 이유가 있을까요?
@Data
@ConfigurationProperties("my.datasource")
public class MyDataSourcePropertiesV1 {
private String url;
private String username;
private String password;
private Etc etc = new Etc();
@Data
public static class Etc {
private int maxConnection;
private Duration timeout
private List<String> options = new ArrayList<>();
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 불꽃맨님.
Spring에서 @ConfigurationProperties
를 사용하는 경우, 외부 설정을 객체로 바인딩하여 안전하게 사용할 수 있습니다. 내부 클래스에 static
키워드를 사용하는 이유는 주로 다음과 같습니다:
독립성 유지: static
으로 선언된 내부 클래스는 바깥 클래스(MyDataSourcePropertiesV1)의 인스턴스와 독립적으로 존재할 수 있습니다. 이는 바깥 클래스의 인스턴스를 생성하지 않고 내부 클래스를 쉽게 사용할 수 있게 해줍니다.
메모리 효율: 필요하지 않은 경우 바깥 클래스의 인스턴스를 만들지 않아도 되므로 메모리 사용 관점에서도 이점이 있습니다.
간단한 접근: 외부에서 이 내부 클래스를 사용하거나 테스트할 때 바깥 클래스의 인스턴스를 참조할 필요 없이 Etc
클래스를 독립적으로 사용할 수 있습니다.
이러한 점에서 static
키워드는 코드를 보다 효율적이고 깨끗하게 유지하는 데 도움을 줍니다. 비슷한 개념을 다룬 질문이 있어 링크를 통해 추가적인 정보를 얻을 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.