데이터베이스의 목적을 알아보고 관계형 데이터 베이스와 비관계형 데이터 베이스에 대해서 알아본다.
프레임워크에 대해서 간단히 알아보고, POJO에 대해서 알아보자.
Spring의 역사와 Spring Boot에 대한 나의 개인적인 이해도를 적어보았다.
스프링 컨테이너와 빈에 대해 설명하며 개념을 이해한다.
bean definition에 대해서 알아보고 빈스코프는 어떤 것이 있는지 확인한다.
싱글톤 스코프가 스프링에서 어떻게 사용되는지에 대해서 다루었다.
Spring DI의 4가지 주입 방법에 대해 알아보고 왜 생성자 주입을 사용해야 하는지에 대해서 알아본다.
AOP에 대해서 자세하게 설명한다.
AOP의 용어를 자세히 설명한다.
Spring MVC에 대해 알아보고 M,V,C가 각각 무엇을 의미하는지 살펴보자.
<도메인 엔티티> <DTO> <Mapper> <Mapstruct> <Service Logic>
커스텀 에너테이션만드는 방법에 대해서 설명한다. 정확하게 설명하지 못하였다.
혼자서 코드를 치다가 API를 만들고 호출을 했다. 하지만, 호출결과가 이러하였다. 찾아보니 내가 dto클래스에 getter를 만들지 않았었다. 대략 느낌적으로는 당연히 Spring이 dto클래스를 사용하니까 getter가 필요하겠거니 생각하며 지내왔지만, 혼자서 이렇
차근차큰 아주 정확환 방법으로 궁금한 점을 해결해주겠다. spring data jpa에서는 페이징을 지원해준다. 그래서 Page 클래스를 이용해서 쉽게 구현가능하다. 먼저 repository클래스이다. jpaRepository인터페이스는 위의 그림과 같이 pagingA
ddl-auto를 적용시키렬고 하는데 자꾸 에러가 떠가지고 너무 화가 났다. mysql에 적용을 시키려고 하는데 컴파일이 안되는것이다. 나와같은 상황이라면 먼저 이걸보자.create: 기존테이블 삭제 후 다시 생성 (DROP + CREATE)create-drop: cr
그런데 만약 코드 3-184에서 assertThrows()의 첫 번째 파라미터로 NullPointerException.class 대신에 IllegalStateException.class 으로 입력 값을 바꾸면 어떻게 될까요? 테스트 실행 결과는 “failed”입니다.
MyThing 프로젝트를 진행중에 파일업로드를 진행하는 일이 있었다. 테스트 진행하는것은 생각하지 않고 multipartForm데이터로 통신하는것임에도 patchMapping으로 설정하였다. (회원정보를 수정하는 API라서 한번에 사진까지 변경할 수 있게 로직을 작성하
만약 스프링에서 지원하는 Transactional 어노테이션 사용하지 않으면 트랜잭션을 직접 구현해 주어야 한다. 먼저 서비스로직에는 데이터베이스 커넥션풀을 얻어서 트랜잭션을 시작할때 수동 커밋 옵션을 켜고, 해당 서비스 로직이 종료되지 전까지 동일한 커넥션 풀을 유지
스프링에서 체크예외를 언체크 예외로 처리하는 이유에 대해서 알아보자.
개요 네이버 쇼핑 검색API를 통해서 받아온 결과값을 그대로 클라이언트측에게 전달하였다. 하지만, 검색API는 우리 프로젝트에서 가장 많이 사용될 API 이므로 이런 불필요한 데이터를 계속해서 전달하게 되면 통신 비용이 너무 크다는 생각이 들어서 리펙터링 포인트로 지정
Querydsl을 사용하면서 생성자 + 쿼리프로젝션을 사용해보기로 하였다. 하지만 DTO의 구조는 그저 필드값만 나열되어 있는것이 아니라 그안에 다른 타입의 클래스가 존재했다.ResponseDetailUser 클래스에는 상세한 유저의 정보가 들어있고 당연히 친구리스트를
프로젝트를 완성한 후 대량의 데이터를 집어넣으면 속도의 차이가 얼마나 나는지 그에 따른 최적화를 진행하기 위해서 대량의 더미 데이터를 집어넣기 위해서 알아보게 되었다. 자바에서 while문을 사용하듯이 mysql에서도 while문을 사용할 수 있다는것을 알게되었는데 바