Why We Use Sping and EJB 2000년 초반 자바진영에서 EJB라는 것이 존재했었다. EnterPrise Java Beans을 말하는데 스프링이랑 JPA같은 다합쳐놓은 종합세트느낌이였다. 이때까지만 해도 EJB는 자바의 표준 기술이었기때문에 금융권에서 널리사용되었다. 그래서 금융권에서 EJB 기술을 사용해서 서버를 팔아먹기에 좋은 keyword였다. 그 당시에 Container 기술, 설정에 의한 트랙잭션관리, 분산처리 기술(지금으로 따지면 service, dao로 분리) 와 같은 고급기술들을 사용할 수 있었다. 그리고 이때 ORM으로 EntityBean이라는 ORM 기술을 가지고 있었는데, DB에 저장된 데이터를 Java의 객체로 표현하기 위한 EJB Component였다. 지금이야 톰..
package com.example.objectmapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class ObjectMapperApplicationTests { @Test void contextLoads() throws JsonProcessingException { System.out.println("hello"); // Object Mapper..
1. URI (Uniform Resource Identifier) : 인터넷에서 특정 자원을 나타내는 주소 값, 해당 값은 유일함 (응답은 다를 수 있음) 요청 : https://www.fastcampus.co.kr/resource/sample/1 응답 : fastcampus.pdf, fastcampus.docx 2. URL (Uniform Resource Locator) : 인터넷 상에서 자원 또는 특정 파일이 어디에 위치하는지 그 위치주소 요청 : https://www.fastcampus.co.kr/resource/sample/1 URL은 URI의 하위개념이다.
REST (Representational State Transfer : 자원의 상태 전달) - 네트워크 아키텍처 1. Client, Server : 클라이언트와 서버가 서로 독립적으로 분리 되어 있어야 한다. 2. Stateless : 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않는다. 3. Cache : 클라이언트는 서버의 응답을 Cache(임시저장) 할 수 있어야 한다. 4. 계층화 (Layerd System) : 서버와 클라이언트 사이에, 방화벽, 게이트웨이, Proxy server 등 다양한 계층 형태로 구성이 가능해야 하며, 이를 확장할 수 있어야 한다. 이를 통해서 서버의 확장을 이룰 수 있어야한다. 5. 인터페이스 일관성 : 인터페이스의 일관성을 지키고, 아키텍처를 단순화시켜 작은 단..
POJO JAVA란? (Plain Old Java Object) : 순수한 자바 오브젝트를 의미 EJB에 종속성때문에 굉장히 많은 비용과 불편함이 발생되었다. 그래서 POJO로 코딩하자. 1. 특정 규약에 종속 되지 않는다. 특정 Library, Module 에서 정의된 클래스를 상속받아서 구현하지 않아도 된다. POJO가 되기 위해서는 외부의 의존성을 두지 않고 순수한 JAVA로 구성이 가능해야한다. 2. 특정 환경에 종속되지 않는다. 만일 특정 비즈니스 로직을 처리하는 부분에 외부 종속적인 http나 servlet request, session 등은 POJO를 위배 한 것으로 간주한다. 또한 많이 사용하고는 있지만 @Annotation 기반으로 설정하는 부분도 엄연히는 POJO라고 볼수는 없다. 이러..