'Spring' 카테고리의 글 목록 (2 Page)
본문 바로가기
728x90

Spring31

JPA의 Entity 정의 JPA에서 사용되는 엔티티 클래스는 테이블과 매핑되는 클래스이다. 테이블에 대응하는 하나의 클래스 선언 ***엔티티 클래스의 선언***은 XML 파일에 작성하는 방법과 Java 파일에 직접 애노테이션으로 작성하는 방법이 있다. 어노테이션이 읽기 편하다. Entity Manager 엔티티를 관리하는 객체 매니저의 책임이 전부 영속성 엔티티의 CRUD에 관련 엔티티의 저장 엔티티의 수정 엔티티의 삭제 엔티티의 조회 특징 엔티티 매니저는 영속성 상태의 엔티티 관리를 위해 DB 세션과 밀접한 연관을 가지기 때문에, 여러 스레드에서 공유하여 사용하면 위험하다. 엔티티 매니저 팩토리로부터 엔티티 매니저 생성 각 스레드마다 엔티티 매니저를 생성하는 방식이 권장된다. 획득한 커넥션을 통해 엔티티 CRUD 관리 데.. 2021. 8. 27.
JPA의 Entity와 DTO를 구분하여 사용해야하는 이유 이유 view, service와 통신하는 DTO 클래스는 자주 변경된다. 반면 Entity는 그에 비해 변경도 적고, 영향범위는 매우크다 테이블에 매핑되는 정보가 실제 View,service에서 원하는 정보와 다를 수 있다 DTO를 사용하지 않고 Entity를 넘기다 보면 원하지 않은 정보까지 전달하게 되어 문제가 발생할 수 있다. Entity 테이블에 대응하는 하나의 클래스 DTO 계층간 데이터를 교환할 때 사용하는 객체 로직을 갖고 있지 않은 데이터 객체, getter/setter 메소드만 갖음 DB외에서 사용 ex)Service, View DTO와 Entity간의 데이타전달객체의 매핑은 ModelMappper를 활용하자. ModelMapper를 적극적으로 활용하면 DTO와 Entity간의 객체전환 .. 2021. 8. 20.
JPA(Java Persistence API)란 JPA(Java Persistence API)란 자바 진영의 ORM 기술 표준 Persistence는 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미 JPA는 자바에 있는 데이터를 영구히 기록할 수 있는 환경을 제공하는 API이다.(DB Mapping) ORM을 사용하기 위한 인터페이스를 모아둔 것 ORM 이란 Hibernate(ORM 프레임 워크) 다양한 ORM 프레임워크 중 가장 많이 사용되는 프레임워크, Open Source SW 이러한 Hibernate 기반으로 만들어진 ORM 기술 표준이 바로 JPA JPA를 사용하려면 Hibernate를 사용하면 된다. 장단점 장점 JPA는 반복적인 CRUD 작업을 생략가능 JPA는 영속성(영구적) 컨텍스트를 가지고 있다. 불.. 2021. 8. 6.
REST API REST(Representational State Transfer) 정의 자원(resource)의 표현(representation)에 의한 상태(state) 전달(transfer) 구성 요소 자원(Resource) : URI 행위(Verb) : HTTP Method HTTP 프로토콜은 GET, POST, PUT, DELETE 와 같은 메서드를 제공 표현(Representation of Resource) Client가 자원의 상태(정보)에 대한 조작을 요청하면 Server는 이에 적절한 응답(Representation)을 보낸다. 하나의 자원은 JSON, XML, TEXT, RSS 등 여러 형태의 표현으로 나타내어 질 수 있다. JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이나 JSON을 주.. 2021. 7. 23.
JSON vs XML JSON(JavaScript Object Notation) 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 포멧 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐 JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서 최근에는 XML을 대체해 데이터 전송 등에 많이 사용 특징 서버와 클라이언트 간의 교루에서 일반적으로 많이 사용 js의 객체 표기법과 아주 유사 js를 이용하여 JSON 형식의 문서를 쉽게 js 객체로 변환할 수 있는 이점이 있다. JavaScript에서 객체를 만들 때 사용하는 표현식을 의미(json은 js기반) 특정 언어에 종속되지 않으며, 대부분 프로그래밍 언어에서 JSON 포멧의 데이터를 핸들링 할 수 있는 라이브러리 제공 .. 2021. 7. 16.
Spring Boot MVC Pattern(Service, DAO, DTO, VO) Spring Boot Framework에서의 MVC Pattern은 일반 MVC Pattern과 조금 다르다. 스프링에서는 유저의 요청을 받는 DispathcerServlet이 핵심이며 이것이 Front Controller의 역할을 맡는다. Reference : https://chanhuiseok.github.io/posts/spring-3/ Front Controller Pattern Spring framework used Front Controller Pattern 요청을 분석하여 세부 컨트롤러들에게 필요한 작업을 분배 모든 리소스(Resource) 요청을 처리해주는 하나의 컨트롤러(Controller)를 두는 패턴 MVC(Model-View-Controller) Pattern과 함께 사용하는 패턴 .. 2021. 7. 9.
728x90