1️⃣ h2 데이터베이스 의존성 추가 Spring에서 h2를 사용하기 위해선 h2에 대한 의존성이 추가되어 있어야 한다. build.gradle의 dependencies 란에 다음과 같은 코드를 추가하고 Reload 하자. runtimeOnly 'com.h2database:h2' 2️⃣ h2 데이터베이스 설치 이후 h2 database 파일을 설치해야 한다. 다음의 사이트에 들어가 h2 파일을 설치한다. https://www.h2database.com/ H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for every..
아무런 설정 없이 JPA 쿼리를 실행하는 경우, 쿼리 파라미터가 '?'로 찍히는 것을 확인할 수 있다. 쿼리 파라미터를 출력하기 위해선 어떻게 해야 할까? 1️⃣방법 1 - yml 코드 추가 application.yml 파일에 다음의 코드를 추가하여 쿼리 파라미터 로그를 남길 수 있다. logging: level: org.hibernate.orm.jdbc.bind: trace 쿼리를 실행하는 테스트 파일을 실행하면, 쿼리 파라미터 로그가 출력되는 것을 확인할 수 있다. Hibernate: select next value for member_seq Hibernate: insert into member (username,id) values (?,?) // 쿼리 파라미터 로그 출력 2023-05-27T16:3..
1️⃣ 서블릿이란? 자바 서블릿은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 🔹 웹 애플리케이션 서버를 직접 구현하면? 서버에서는 어떤 업무를 처리해야 할까? 서버 TCP/IP 연결 대기, 소켓 연결 HTTP 요청 메시지를 파싱해서 읽기 POST 방식, /save URL 인지 Content-Type 확인 HTTP 메시지 바디 내용 파싱 username, age 데이터를 사용할 수 있게 파싱 저장 프로세스 실행 비즈니스 로직 실행 데이터베이스에 저장 요청 HTTP 응답 메시지 생성 시작 HTTP 시작 라인 생성 Header 생성 메시지 바디에 HTML 생성..
1️⃣ 타임리프(Thymeleaf) 타임리프는 스프링 부트에서 공식적으로 지원하는 View 템플릿 엔진이다. 컨트롤러가 전달하는 데이터를 이용해 동적으로 화면을 구성해 준다. 🔹 타임리프 대표적인 특징 JSP와 달리 Thtmeleaf 문서는 HTML 확장자를 가지고 있어 서버상에서 동작하지 않아도 파일의 내용을 확인할 수 있다. 순수 HTML 구조를 유지한다. 따라서 Natural Template이라고도 불린다. 화면 구성을 서버 가동 없이 쉽게 파악할 수 있기 때문에 개발에 용이하다. 2️⃣ 타임리프 사용 🔹 라이브러리 추가 타임리프 사용을 위해 build.gradle에 의존성을 추가해야 한다. implementation 'org.springframework.boot:spring-boot-starter..