Spring Boot JDBC/이론정리 3

JWT를 이용한 자바 보안 시스템 설정

1. JWT (JSON Web Token) JWT는 인증 정보를 JSON 형식으로 담고, 이를 인코딩한 토큰이다.JWT는 인증서를 대신하는 디지털 신분증 같은 것이다.헤더는 신분증의 표지이고, 페이로드는 신분증 안의 개인 정보이며, 서명은 위조 방지를 위한 보안 도장이다.서버가 사용자에게 신분증을 발급하고, 사용자는 이 신분증을 가지고 요청을 보낸다.  역할: 사용자의 인증 상태를 유지하는 데 사용된다.구성: Header(헤더), Payload(내용), Signature(서명)으로 이루어진다. 장점단점무상태 인증: 서버는 세션을 저장하지 않아도 되어 확장성이 뛰어나다.사용 편의성: 클라이언트가 토큰을 보유하므로 요청마다 재인증할 필요가 없다.유연성: JSON 형식으로 정보가 포함되어 있어, 다양한 애플리..

Controller, DTO, DAO의 역할 이론 정리

Controller에서 Request DTO로의 변환이 중요한 이유 1. 데이터 검증Controller는 사용자가 보낸 요청 데이터를 Request DTO로 변환하면서 입력된 데이터의 형식이나 필수 값을 검증할 수 있다.예를 들어, "city" 필드가 비어 있거나, "date" 형식이 잘못되었다면, 에러를 반환할 수 있다. 2. 데이터 구조화Request DTO는 원시 데이터(JSON 형식 등)를 객체로 변환하여, Service 계층에서 사용할 수 있도록 구조화된 형태로 만든다.이 과정은 비즈니스 로직 코드가 깔끔해지고, 재사용 가능하게 만든다. 3. 유지보수성 증가새로운 필드가 추가되거나 데이터 요구 사항이 변경될 때, Request DTO 클래스만 수정하면 된다.이렇게 하면 시스템의 유지보수성도 효율..

Spring Boot 기본 작동 원리 비유적 설명

비유 데이터베이스(DB) 데이터가 실제로 저장되는 장소로 창고에 비유됨.DB는 단순한 창고가 아니라, 정리와 관리가 잘 된 스마트 창고입니다.스마트 창고(DB):원하는 물건을 빠르게 찾아줌(검색).물건 추가, 제거, 수정 가능(관리).물건 간의 연결 정보도 제공(관계).창고를 안전하게 지키고, 문제 시 복구도 가능(보안 & 백업).Dao창고와 소통하며 데이터를 가져오거나 저장하는 역할로 심부름꾼에 비유됨. 바리스타는 창고의 사정도 알고 심부름꾼의 사정도 아는 이해자인것이다.SQL과의 연결:DAO는 DB와 직접 대화하며, 데이터 작업을 위해 SQL 쿼리를 실행합니다.예: SELECT, INSERT, UPDATE, DELETE 같은 명령어를 실행."SELECT * FROM users WHERE id = ?"..