Repository Interface Entity 생성 @Data @NoArgsConstructor @AllArgsConstructor @Entity public class User { @Id @GeneratedValue private Long id; private String name; priv...
Entity
Entity Annotation @Entity 해당 객체가 JPA에서 관리하는 Entity객체임을 표시한다. @Id 레코드를 유일하게 식별 할 수 있는 PK를 지정한다. @GeneratedValue strategy IDENTITY mysql에서 많이 사용하는 전략 ...
ORM
ORM 객체와 DB사이의 관계를 연결해 주는것을 ORM이라고 한다. ORM을 통해 정의한 객체를 사용하는 것으로 자연스럽게 DB에 연결해 사용할 수 있다. 만약 ORM없이 직접 Data를 처리한다면 SELECT Query를 통해 받은 결과값을 하나하나 매핑해서 사용해야한다. JPA(Java Assistant Api) 현재 ...
Swagger
Swagger Swagger란 개발한 REST API를 편리하게 문서화 해주고, 이를 통해 관리 및 제 3의 사용자가 편리하게 API를 호출해보고 테스트 할 수 있도록 해주는 프레임 워크이다. Spring Boot에서는 간단하게 springfox-boot-starter를 gradle dependencies에 추가하는 것으로 사용할 수 있다....
Filter, Interceptor
Filter Web Application에서 관리되는 영역으로써 Spring Boot Framework에서 Client로 부터 오는 요청/응답에 대해서 최초/최종 단계의 위치에 존재하며 이를 통해 요청/응답의 정보를 변경하거나, Spring에 의해서 데이터가 변환되기 전의 순수한 Client의 요청/응답 값을 확인 할 수 있다. 유일하게 S...
Exception
Exception Web Application의 입장에서 바라 보았을 때, 에러가 발생했을 경우 내려줄 수 있는 방법이 많지 않다. Error Page 4XX Error or 5XX Error Client가 200외에 처리를 하지 못 할 때는 200을 내려주고 별도의 에러 Message를 전달 ...
Validation
Spring Boot validation Java에서는 null값에 대해서 접근 하려고 할 때 null pointer exception이 발생 함으로, 이러한 부분을 방지 하기 위해 미리 검증을 해야 하는데 이러한 과정을 Validation이라고 한다. 단순한 검증 public void run(String account, String pw...
AOP 사용해보기
Dependency AOP를 사용하기 위해서는 dependency를 추가해 줘야 한다. build.gradle의dependencies에 AOP를 추가해준다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-aop' implementati...
IoC, DI, AOP
DI(Dependency Injection) class Base64Encoder{ public String encode(String message){ return Base64.getEncoder().encodeToString(message.getBytes()); } } class UrlEncoder{ ...
Object Mapper
Object Mapper Object Mapper는 Text 형태의 JSON을 Object 변경해주고, Object를 Text JSON으로 변경해준다. Controller의 request의 입력으로 JSON이 들어오면 이를 Object로 변경하고 Object를 return하면 Object를 JSON으로 변경해 반환한다. src/main에...