728x90
반응형
데이터 바인딩
외부에서 입력된 값을 통해 자바 객체의 Property,
즉 멤버변수에 설정하는 과정을 데이터 바인딩이라고 한다.
DataBinder
이러한 프로세스는 웹 통신에서 데이터를 주고받을 때 자주 일어난다.
HTTP요청이 들어오면 해당 요청은 Json으로 되어있고,
Json으로 들어온 요청을 애플리케이션에서 사용할 Java객체로 변환해야 한다.
이 때 하나하나 매핑해서 사용할 수도 있지만, DataBinder를 사용하면,
형변환 등 여러가지를 편리하게 해준다.
request라는 HTTP요청이 도착했을 때, DataObject로 변환시켜주는 예제이다.
DataObject obj = new DataObject();
ServletRequestDataBinder dataBinder = new ServletRequestDataBinder(obj);
dataBinder.bind(request);
Property 매핑
또한 데이터 바인딩은, 애플리케이션 설정에서 많이 일어난다.
.properties파일에 다음과 같은 Property가 정의되어 있다면,
application.givenInput = "input"
다음과 같이 스프링 빈에서 기본값을 받아올 수 있다.
이 때 ":" 뒤의 값은 properties파일에서 값이 주어지지 않을 경우의 기본값이다.
@Component
public class ApplicationProperties {
...
@Value("${application.givenInput:defaultInput}")
private String givenInput;
...
}
위의 코드에서는 주어지지 않을 경우 "defaultInput"의 기본값으로 대체하게 되어있다.
참고로 이 .properties파일의 중요한 점은, 사용자가 지정하는 변수들 뿐만 아니라,
JVM설정, 및 시스템의 환경변수도 로딩할 수 있다는 점이다.
참고자료
스프링 철저 입문, 위키북스
728x90
반응형
'서버 개발 > 스프링' 카테고리의 다른 글
[스프링 클라우드] 서비스 디스커버리 (0) | 2024.10.03 |
---|---|
스프링 프레임워크 - (3) AOP (0) | 2019.09.10 |
스프링 프레임워크 - (2) 스프링 빈 (Bean) (0) | 2019.09.02 |
스프링 프레임워크 - (1) 의존성 주입 (DI) (0) | 2019.09.02 |