본문 바로가기
728x90
반응형

Spring181

[Spring] 커넥션 풀과 데이터 소스 개념 데이터베이스 커넥션을 매번 획득 데이터베이스 커넥션을 획득할 때는 다음과 같은 복잡한 과정을 거친다. 1) 애플리케이션 로직은 DB 드라입러를 통해 커넥션을 조회한다. 2) DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 물론 이 과정에서 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작이 발생한다. 3) DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW 와 기타 부가정보를 DB에 전달한다. 4) DB는 ID, PW를 통해 내부 인증을 완료하고, 내부에 DB 세션을 생성한다. 5) DB는 커넥션 생성이 완료되었다는 응답을 보낸다. 6) DB 드라이버는 커넥션 객체를 생성해서 클라이언트에 반환한다. 이렇게 커넥션을 새로 만드는 것은 과정도 복잡하고 시간도 많이 많이 .. 2024. 1. 19.
[Spring] JDBC CRUD(등록, 조회, 수정, 삭제) 이번 포스팅은 JDBC를 사용해서 애플리케이션을 개발해보자. JDBC를 사용해서 회원(Member) 데이터를 데이터베이스에 관리하는 기능을 개발해본다 ※ 시작하기 전에,, H2 데이터베이스 설정 마지막에 있는 테이블과 샘플 데이터 만들기를 통해서 member 테이블을 미리 만들어두어야 한다. schema.sqldrop table member if exists cascade; create table member ( member_id varchar(10), money integer not null default 0, primary key (member_id) ); Memeberpackage hello.jdbc.domain; import lombok.Data; @Data public class Member {.. 2024. 1. 18.
[Spring] JDBC의 이해와 JDBC 관련 기술 (+ H2 Database 설치), 데이터베이스 연결 프로젝트 세팅 build.gradle의 dependencies에 아래 내용 추가 //테스트에서 lombok 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly.. 2024. 1. 18.
[Spring] 스프링 파일 업로드, 그리고 @RequestParam, @ModelAttribute parameter illegalArgumentException 트러블 슈팅 스프링은 MultipartFile 이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다. SpringUploadController package hello.upload.controller; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.ann.. 2024. 1. 14.
[Spring] 파일 업로드 개념 및 서블릿으로 파일 업로드하기 파일 업로드 소개 일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. HTML 폼 전송 방식 1) application/x-www-form-urlencoded 2) multipart/form-data application/x-www-form-urlencoded 방식 application/x-www-form-urlencoded 방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. Form 태그에 별도의 enctype 옵션이 없으면 웹 브라우저는 요청 HTTP 메시지의 헤더에 다음 내용을 추가한다. Content-Type : application/x-www-form-url-encoded 그리고 폼에 입력한 전송.. 2024. 1. 13.
[Spring] 포맷터 - Formatter Formatter Converter 는 입출력 타입에 제한이 없는 범용 타입 변환 기능을 제공한다. 일반적인 웹 애플리케이션 환경을 생각해보면, 불린 타입을 숫자로 바꾸는 것 같은 범용 기능보다는 개발자 입장에서는 문자를 다른 타입으로 변환하거나, 다른 타입을 문자로 변환하는 상황이 대부분이다. 웹 애플리케이션에서 객체를 문자로, 문자를 객체로 변환하는 예 - 화면에 숫자를 출력해야 하는데, Integer → String 출력 시점에 숫자 1000 → 문자 "1,000" 이렇게 1000 단위에 쉼표를 넣어서 출력하거나, 또는 "1,000"라는 문자를 1000이라는 숫자로 변경해야 한다. - 날짜 객체를 문자인 "2021-01-01 10:50:11" 와 같이 출력하거나 또는 그 반대의 상황 Locale 여.. 2024. 1. 8.
728x90
반응형