프로젝트 개요
·
Project/중고타운
GitHub - wlgus9/junggo-townContribute to wlgus9/junggo-town development by creating an account on GitHub.github.comJunggo-Town중고타운은 사용자가 서로 중고물품을 판매하고 구매할 수 있는 API 프로젝트입니다.프로젝트 환경java : jdk 17Spring Boot : 3.4.1Build : GradleDatabase : MySQL 9.2.0기타 라이브러리Spring WebSpring Data JPASpring ValidationJSON Web Token (JJWT)LombokSpring Boot Test프로젝트 구조도src├── main│ ├── java│ │ └── com│ │ ..
트랜잭션
·
강의/스프링 DB 1편
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | , 백엔드 개발자라면 반드시 알아야하는스프링 데이터 접근 기술 Part.1 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 6번째 강의입니다. 우아한형제들 최연소 기술이사www.inflearn.com트랜잭션데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 커밋(Commit) : 모든 작업이 성공해서 데이터베이스에 정상 반영하는 것롤백(Rollback) : 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것 커밋의 종류자동 커밋각각의 쿼리 실행 직후에 자동으로 커밋을 호출한다.이로 인해 커밋이나 롤백을 직접 호출하지 않아도 되는 편리함이 있지만 쿼리를 하나하나 실행할 때 마다 자동으로 커밋이 되어버리기 때..
Connection Pool과 DataSource
·
강의/스프링 DB 1편
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | , 백엔드 개발자라면 반드시 알아야하는스프링 데이터 접근 기술 Part.1 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 6번째 강의입니다. 우아한형제들 최연소 기술이사www.inflearn.com커넥션 획득 과정애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회한다.DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 물론 이 과정에서 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작이 발생한다.DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달한다.DB는 ID, PW를 통해 내부 인증을 완료하고, 내부에 DB 세션을 생성한다.DB는 커넥션 생..
JDBC의 이해
·
강의/스프링 DB 1편
스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | , 백엔드 개발자라면 반드시 알아야하는스프링 데이터 접근 기술 Part.1 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 6번째 강의입니다. 우아한형제들 최연소 기술이사www.inflearn.com JDBC의 등장 이유각각의 데이터베이스마다 커넥션을 연결하는 방법, SQL을 전달하는 방법, 그리고 결과를 응답 받는 방법이 모두 다르다.그래서1. 데이터베이스를 다른 종류의 데이터베이스로 변경하면 애플리케이션 서버에 개발된 데이터베이스 사용 코드도 함께 변경해야 한다.2. 개발자가 각각의 데이터베이스마다 커넥션 연결, SQL 전달, 그리고 그 결과를 응답 받는 방법을 새로 학습해야 한다.라는 가장 큰 문제점이 발생..
Swagger 사용 중 java.lang.NoSuchMethodError
·
Project/중고타운
‼️ 이슈 개인 프로젝트 진행 중 코드를 열심히 수정하고 스웨거에 접속하려고 하니 이런 에러가 났다... 👀 원인 파악ExceptionHandler를 통해 return 받은 결과는 다음과 같다. 보통 의존성 버전 문제로 발생한다고 한다.{ "httpStatus": "INTERNAL_SERVER_ERROR", "message": "Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'"} 흠... 처음에는 단순 스웨거 문제인 줄 알고 열심히 구글링 하다가 이런 내용을 봤다.@ControllerAdvice 애노테이션과..
HttpServletRequest, HttpServletResponse
·
강의/스프링 MVC 2편
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 강의 | 김영한 - 인프런김영한 | , 원리를 알아야 핵심이 보인다!김영한의 스프링 MVC 활용편 👨‍💻 📌 수강 전 확인해주세요! 본 강의는 자바 스프링 완전 정복 시리즈의 다섯 번째 강의입니다. 우아한형제들 최연소www.inflearn.comHttpServletRequest서블릿은 HTTP 요청 메세지를 파싱하고 그 결과를 HttpServletRequest 객체에 담아서 제공해 준다.이 외에도 여러 부가기능을 제공한다.임시 저장소 기능 (해당 HTTP 요청의 시작부터 끝날 때까지 유지되는 임시 저장소 기능)저장 : request.setAttribute(name, value)조회 : request.getAttribute(name)세션 관리 기능 r..
서블릿과 멀티스레드
·
강의/스프링 MVC 2편
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 강의 | 김영한 - 인프런김영한 | 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습www.inflearn.com서블릿웹 애플리케이션에서 HTTP 프로토콜을 이용해 클라이언트의 요청을 처리하고 응답을 반환하는 자바 클래스 HttpServletRequest(요청), HttpServletResponse(응답)을 통해 개발자는 HTTP 스펙을 매우 편리하게 사용할 수 있다.서블릿 컨테이너톰캣처럼 서블릿을 지원하는 WAS서블릿 객체의 생명주기 관리 (생성, 초기화, 호출, 종료)서블릿 객체의 특징서블릿 객체는 싱글톤으로 관..
빈 생명주기와 스코프
·
강의/스프링 핵심 원리 - 기본편
스프링 핵심 원리 - 기본편 강의 | 김영한 - 인프런김영한 | 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보www.inflearn.com빈 생명주기 콜백데이터베이스 커넥션 풀이나 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해 두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면 객체의 초기화와 종료 작업이 필요하다.라이프사이클스프링 컨테이너 생성스프링 빈 생성의존관계 주입초기화 콜백사용소멸 전 콜백스프링 종료객체의 생성 vs 초기화객체의 생성 : 생성자는 필수 정보(파라미터)를 받고 메모리를 할당해서 객체를 생성하는 책임을 가짐초기화 : ..