JPA란? 개념, 영속성 컨텍스트, JPQL까지 한번에 정리
·
🗨️ Backend/Java
JPA(Java Persistence API)는 자바 애플리케이션에서 관계형 데이터베이스를 쉽게 다룰 수 있도록 도와주는 ORM(Object-Relational Mapping) 기술이다. 즉, SQL을 직접 작성하지 않고 자바 객체를 통해 데이터베이스와 상호작용할 수 있도록 해준다.✅ JPA의 주요 개념1. ORM(Object-Relational Mapping)JPA는 ORM 기술을 기반으로 동작하며, 객체와 관계형 데이터베이스 테이블을 매핑하는 역할을 한다. 이를 통해 SQL을 직접 다루지 않아도 객체를 활용하여 데이터를 저장하고 조회할 수 있다.2. 엔티티(Entity)JPA에서 데이터베이스 테이블과 매핑되는 자바 객체를 "엔티티"라고 한다. 엔티티 클래스는 @Entity 어노테이션을 사용하여 정의한..
Spring WebSocket과 STOMP, 그리고 Kafka를 활용한 실시간 통신
·
🗨️ Backend/Java
1. 웹소켓(WebSocket)이란?1.1 웹의 기본 통신 방식: HTTP의 한계웹 애플리케이션에서 서버와 클라이언트 간의 데이터 교환은 일반적으로 HTTP를 사용한다. 하지만 HTTP는 비연결성(stateless) 프로토콜로, 클라이언트가 요청을 보내야만 서버가 응답하는 단방향 통신 방식이다.이 방식은 실시간성이 중요한 애플리케이션(예: 채팅, 주식 거래, 알림 서비스 등)에서는 비효율적이다. 주기적으로 서버에 요청을 보내는 폴링(Polling), 롱 폴링(Long Polling), 서버 센트 이벤트(Server-Sent Events, SSE) 같은 기술이 사용되지만, 성능과 확장성에서 한계가 있다.1.2 웹소켓(WebSocket)의 등장웹소켓은 클라이언트와 서버 간에 지속적인 연결을 유지하며 양방향 ..
Thymeleaf 템플릿 엔진
·
🗨️ Backend/Java
Thymeleaf는 자바 웹 애플리케이션의 뷰(화면)를 만들기 위한 템플릿 엔진이다. Thymeleaf는 HTML, XML, JavaScript, CSS 등의 마크업 언어를 지원하며, 순수한 HTML을 최대한 유지하려는 네츄럴 템플릿(Natural Templates) 기반의 템플릿 엔진이다. Thymeleaf는 서버 측에서 HTML 문서로 렌더링 되어 전달되므로클라이언트 측에서 추가적인 처리없이 HTML 문서를 확인할 수 있다. 무엇보다 스프링과 자연스런 통합을 지원하기 때문에 Spring MVC 애플리케이션에서 JSP를 대체하는 모든 기능을 제공하며 스프링이 지원하는 다양한 기능을 활용할 수 있다.  ThymeleafIntegrations galore Eclipse, IntelliJ IDEA, Spri..
[Spring]프로젝트 환경설정
·
🗨️ Backend/Java
프로젝트 생성 Spring을 사용하기 위해서는 기본적으로 Java를 사용한다. 그렇기 때문에, Java를 기본적으로 설치할 수 있어야 한다. 인프런의 Spring입문강의는 기본적으로 Java 11 버전을 사용하기 때문에 11 버전을 설치하는 게 좋다. IDE(통합 개발 환경)는 IntelliJ 또는 Eclipse를 설치하면 된다. 이렇게 준비가 되었다면 프로젝트를 생성하면 된다. 옛날 같은 경우에는 Spring프로젝트를 밑바닥부터 만들었던 반면에, 요즘에는 스프링 부트를 사용해 쉽게 생성이 가능하다. * 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 * https://start.spring.io 위 사진은 스프링 부트 스타터 사이트의 페이지 사진이다. 제일 처음에 Project안의 Maven..
Kyle99
'spring' 태그의 글 목록