서버 개발/스프링
스프링 프레임워크 - (4) 데이터 바인딩
_금융덕후_
2019. 9. 10. 19:31
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
반응형