spring 3

RestTemplate

RestTemplate이란? RestTemplate restTemplate = new RestTemplate(); 간편하게 Rest방식의 API를 호출할 수 있는 Spring 내장 클래스다. Spring 3.0부터 지원이 되며, Json, Xml 응답을 모두 받을 수 있다. HTTP 서버와의 통신 방법 Client와 Server로 나누어서 먼저 프로젝트를 생성한다. 참고로 Server는 Port번호를 8080으로, Client는 9090으로 설정했다. 아래 방법들은 모두 HTTP 메소드 중 GET을 기반으로 동작한다. (1) Server의 ServerApiController @RestController @RequestMapping("/api/server") public class ServerApiCont..

Spring과 비동기 처리

동기와 비동기의 차이 먼저 동기와 비동기의 차이를 간단히 이해하자. 동기는 직렬형 작업 처리 모델이다. 작업은 순차적으로 시행되며 하나의 작업이 끝나기까지 다음 작업은 대기하게 된다. 예를 들어 DB에 SQL문을 날려서 데이터를 받아올 때, 데이터를 받아오기까지 다른 작업들은 수행되지 않는다. 비동기는 병렬형 작업 처리 모델입니다. 작업이 종료되지 않은 상태라도 대기하지 않고 다음 작업을 수행한다. 예를 들어 JavaScript의 DOM 이벤트와 타이머 함수, Ajax 요청은 비동기 처리 모델로 동작한다. 디테일한 설명은 이 글을 참고하면 확인할 수 있다. 동기(Syncronous)와 비동기(Asynchronous) 처리, 그리고 Callback 동기(Syncronous)와 비동기(Asynchronous..

POJO(Plain Old Java Object)와 POJO Framework

POJO란? 순수한 자바 오브젝트를 말한다. 즉, 외부의 종속성이 없는 단순한 자바 객체를 말한다.디자인패턴에 지대한 영향을 준 마틴 파울러는 단순 자바 객체를 쓰라는 말이 폼나지 않는 다는 반응을 들었다. 적당히 'POJO'라 명명하고 POJO를 사용하라 했더니 반응이 좋아서 해당 개념이 굳혀지게 되었다. 예를들어 아래와 같이 Getter, Setter로 구성된 가장 순수한 형태의 기본 클래스를 POJO라고 할 수 있다.public class Book { private String title; private String author; public Book() {} public Book(String title, String author) { this.title = title; this.author ..