Development Memories 13

【Spring】WebFlux란 무엇인가?

2017년 8월에 릴리즈되어 Spring5에 새롭게 추가된 Client, Server에서 reactive 스타일의 어플리케이션 개발을 도와주는 모듈 입니다. Spring framework는 Servlet API와 Sevlet 컨테이너로 이루어져 있는데, Spring5에서 WebFlux가 추가 되었습니다. WebFlux는 reactive-stack web framework이며 non-blocking에 reactive stream을 지원 합니다. WebFlux가 생긴 이유를 간략히 보면....(인터넷에 공유되고 있는 내용을 짜집기 하였습니다.) 적은 양의 스레드와 최소한의 하드웨어 자원으로 동시성을 핸들링하기 위해 만들어졌다. 서블릿 3.1이 논블로킹을 일부분만 지원하기 때문에 만들어지게 되었다. Tomca..

【JPA】Persistence Context(영속성 컨텍스트) 란 무엇인가?

JPA에서 중요한 부분이라 학습했던 부분을 그림으로 그려서 정리해 보았습니다. Persistence Context(영속성 컨텍스트)는 엔티티 매니저를 생성할 때 하나가 생성이되고 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 및 관리를 할수 있습니다. 여러 엔티티 매니저가 하나의 영속성 컨텍스트를 접근하거나 관리할 수 도 있습니다. EntityManager로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리하게 됩니다. 예를 들어, 엔터티에 대한 "persist() or merge()"을 수행하여도 그 시점에서는 데이터베이스에 기록되지 않고 「이 엔티티는 데이터베이스에 새롭게 Insert 하는 데이터」 라고 표시하고 영속성 컨텍스트에 저장할 뿐입니다. 이 개체의 "영속..

【JPA】Persistence.xml 설정 방법

JPA는 Persistence.xml을 이용해서 관련 정보를 관리합니다. 파일의 위치는 아래와 같이 META-INF 폴더안에 있으면 별도의 설정없이도 인식이 가능합니다. 아래 코드는 「김영한님의 자바 ORM 표준 JPA 프로그래밍」의 샘플 소스를 인용하였습니다. 코드를 하나씩 보면 XML의 네임 스페이스와 JPA의 버전을 명시하는 합니다. 위 코드에서는 JPA 2.1을 명시하고 있습니다. JPA 설정은 persistence-unit(영속성 유닛)라는 것부터 시작을 하는데 일반적으로 연결할 데이터 베이스당 하나의 영속성 유닛을 등록하게 됩니다. persistence-unit에는 하나의 고유한 이름을 설정해야하는데, 위 코드에서는 JPABOOK를 설정한 상태 입니다. 각 프로퍼티에 대해서 살펴보면 jdbc...

반응형