본문 바로가기

IT/Spring83

REST API Respresentational State Transfer : HTTP기반으로 필요한 resource에 접근하는 방식을 정해 놓은 아키텍쳐 resource이란 저장된 데이터, 이미지/ 동영상/문서 등과 같은 파일, 서비스(이메일 전송, 푸쉬 메세지 등)을 포함 REST API : REST를 통해 서비스 API를 구현 REST 속성 서버에 있는 모든 resource는 각 resource 당 클라이언트가 바로 접근 할 수 있는 고유 URI가 존재 모든 요청은 클라이언트가 요청할 때마다 필요한 정보를 주기 때문에 서버에서는 세션 정보를 보관할 필요가 없다. 이에 서비스의 자유도가 높아지고 유연한 아키텍쳐 적응이 가능 HTTP 메소드를 사용한다. 모든 resource는 일반적으로 HTTP 인터페이스인 GET, .. 2019. 10. 15.
토비 스프링 - XML 이용한 설정 XML: 텍스트 파일이기에 다루기 쉬우며, 쉽게 이해할 수 있다, 컴파일과 가튼 별도의 빌드 작업도 존재하지 않으며, 오브젝트의 관계가 바뀌는 경우에도 빠르게 변경사하을 반영하는 것이 가능. @Configuration 은 @Bean 은 빈이 이름 : @Bean 메소드 이름이 빈의 이름, getBean()에서 사용된다. 빈의 클래스 : 빈오브젝트를 어떤 클래스를 이용해서 만들지를 정의한다. 빈의 의존 오브젝트 : 빈의 생성자나 setter메소드를 통해 의존 오브젝트를 넣어주며, 의존 오브젝트도 하나의 빈이기에 이름이 있고, 그 이름에 해당하는 메소드를 호출해서 의존 오브젝트들을 가져온다. 더 이상 의존하고 있는 오브젝트가 없는 경우 생략 가능 빈 설정 파일 자바코드 설정정보 @Configuration XM.. 2019. 10. 14.
토비 스프링 - 의존관계 주입 Dependency Injection : 오브젝트 레퍼런스를 외부로부터 제공받아 이를 다른 오브젝트와 다이나믹하게 의존관계를 만들어주는 것, 인터페이스를 통해 의존관계를 제한하여 변경에 자유로워 질 수 있다. 의존관계 주입은 세가지 조건을 충족해야한다. 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. 그러기 위해서는 인터페이스에 의존하고 있어야한다. 런타임 시점의 의존관계는 컨테이너나 팩토리 같은 제 3의 존재가 결정한다. 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 제공해 줌으로써 만들어진다. 의존 오브젝트 : 오브젝트가 만들어지고 런타임시에 의존관계를 맺는 대상 DI를 원하는 오브젝트는 먼저 자신이 컨테이너가 관리하는 빈이 되어야한다. DI의 장점은 관심사의 분리를 통해 .. 2019. 10. 13.
토비 스프링 - IoC 오브젝트 팩토리 : 객체의 생성 밥법을 결정하고 만들어진 오브젝트를 돌려주는 일을 하는 클래스 제어의 역전 : 프로그램의 제어 흐름 구조가 뒤바뀌는 것, 일반적으로 main() 메소드와 같이 프로그램이 시작되는 지점에서 다음에 사용할 오브젝트를 호출하고, 오브젝트를 그 오브젝트 메소드 안에서 다음에 사용할 것을 결정하고 호출하는 식으로 작업이 진행된다. 이러한 구조에서 각 오브젝트는 프로그램 흐름을 결정하거나 사용할 오브젝트를 구성하는 작업에 능동적으로 참여한다. 모든 오브젝트가 능동적으로 자신이 사용할 클래스를 결정하고 언제 어떻게 그 오브젝트를 만들지를 스스로 관장한다. 모든 종류의 작업을 사용하는 쪽에서 제어하는 구조이다. 제어의 역전이란 일반적인 제어 흐름의 개념을 뒤집어서, 오브젝트가 자신이 사.. 2019. 10. 13.