CodeNexus
메뉴

백엔드

Spring, JPA, Java로 서버를 만들며 마주친 문제와 해결 과정을 정리합니다.

세부 주제

학습 순서

난이도 순으로 읽으면 흐름이 이어집니다.

  1. [JPA] 연관관계 매핑 기초(다대일, 연관관계 주인)입문
  2. SpringBoot, JPA, H2를 이용한 간단한API 작성입문
  3. [Java] 리플렉션(Reflection)이란?입문
  4. JPA - 연관관계 매핑(기초)(3)입문
  5. SpringBoot, MongoDB 시작하기입문
  6. [JPA] Auditing 사용하기중급
  7. [JPA] Casecade 옵션중급
  8. [JPA] Custom Repository 만들기중급
  9. [JPA] 도메인 클래스 컨버터란?중급
  10. [JPA] null 처리중급
  11. [JPA] save메서드로 살펴보는 persist와 merge 개념중급
  12. [JPA] 엔티티 일부 데이터만 조회하는 Projection중급
  13. [JPA] proxy, fetch 전략중급
  14. [JPA] 쿼리메서드(Lookup 전략)중급
  15. [JPA]@Transactional를 통한 Optimization중급
  16. [Spring] @SpringBootAppllication 어노테이션에 대한 고찰중급
  17. [Spring]Bean에 대해서 알아보자중급
  18. [Spring] bean circular dependencies (빈 순환 참조)중급
  19. [Spring Boot] 스프링 부트 3가지 특징중급
  20. [Spring] Spring Data Common 프로젝트 살펴보기중급
  21. [Spring] SpringApplication를 통한 코딩중급
  22. [Spring] @ConfigurationProperties를 이용해서 properties값들을 클래스로 관리하기중급
  23. [Spring] 메세지 컨버터중급
  24. [Spring] Profile 설정하기중급
  25. [Spring] MVC 만들어 보기중급
  26. [Spring] DispatcherServlet에 대해서 알아보자중급
  27. Jackson 어노테이션 사용중급
  28. [Spring]HandlerMethodArgumentResolver 인터페이스중급
  29. 다양한 예제로 알아보는 자바(Java) 역순 정렬중급
  30. Jackson, null 필드 무시하기중급
  31. [Spring] 모델 검증(validation)중급
  32. [Spring] MultipartFile을 이용한 파일 업로드중급
  33. Garbage Collection - #2부 GC에 대한 설명중급
  34. Spring, JPA를 이용한 REST API 만들기중급
  35. Thymeleaf Collection 정보 화면에 렌더링하기중급
  36. Thymeleaf 실무에서 자주 사용하는 것들중급
  37. [Java] Comparable vs Compartor 사용 방법중급
  38. [Spring] 빈 주입하는 방법 && Best Practice중급
  39. Spring Sentry(에러 트래킹 서비스) 적용하기중급
  40. [Java] CompletableFuture 사용 방법중급
  41. [JPA] 연관관계 매핑 (연관관계 편의 메서드)중급
  42. [Spring Cloud] spring cloud config 간단 예제중급
  43. SpringBoot RabbitMQ 연동하기중급
  44. 테스트 위생(test hygiene), 테스트를 깔끔하게 유지하는 방법중급
  45. [AserrtJ] 필드값 재귀적으로 테스트 하는 방법중급
  46. JPA - 영속성 관리(1)중급
  47. Junit5 - 기본 사용법중급
  48. JPA - 프록시와 연관관계(5)중급
  49. JPA - 값 타입(6)중급
  50. [Java] 파일 입출력(BufferedWriter, BufferedReader, Files)중급
  51. AssertJ 자주 사용하는 것들중급
  52. Spring Boot, Dockerfile로 이미지 생성, 배포하기중급
  53. [Java] 정렬 API (Array, Collection, Comparator)중급
  54. Jackson, LocalDateTime Serialization, Deserialization 이슈중급
  55. Bean Validation 이슈 (Object Graph)중급
  56. [Java] Stream 데이터 groupingBy 예제중급
  57. SpringBoot CommandLineRunner, ApplicationRunner 초기화 방법중급
  58. Spring Boot 서버 타임존 설정 방법중급
  59. 해시 함수와 해시 충돌(해결 방법)중급
  60. Spring과 MongoDB 연동 실전 가이드중급
  61. Spring WebFlux 테스트 방법중급
  62. Java partitioningBy 예제 코드: 데이터 분할 작업을 간편하게 해보자중급
  63. [JPA] QueryDSL 설정방법심화
  64. [Spring] MVC 살펴보기심화
  65. Modern Java in Action #2. 동작파라미터화 코드 전달하기심화
  66. [JPA] 엔티티 설계시 주의사항들심화
  67. [Java] 날짜,시간의 역사와 LocalDateTime 살펴보기심화
  68. Junit5 정리심화
  69. JPA - 엔티티 매핑(2)심화
  70. JPA - 다양한 연관관계 매핑(4)심화
  71. Spring Batch 프로젝트 살펴보기심화

전체 글 71편

Java

Java partitioningBy 예제 코드: 데이터 분할 작업을 간편하게 해보자

자바(Java) 프로그래밍에서 데이터를 효율적으로 분할하고 관리하는 것은 중요한 작업 중 하나입니다. 이를 위해 많은 방법이 있지만, 'partitioningBy' 메서드를 활용하는 방법은 데이터를 조건에 따라 분할하고 처리하는 데 매우 유용합니다.

튜토리얼중급약 4분#java

Spring · Spring Boot

Spring WebFlux 테스트 방법

이 블로그에서는 Spring WebFlux의 테스트 방법에 대해 자세히 알아보겠습니다. Spring WebFlux는 Spring Framework 5에서 도입된 리액티브 프로그래밍 모델로서, 비동기적인 웹 애플리케이션을 개발할 수 있게 해줍니다.

레퍼런스중급약 9분#spring#test#webflux

Java

해시 함수와 해시 충돌(해결 방법)

해시함수, 해시 충돌과 해시 충돌을 해결하는 방법인 open addresssing과 chaining에 대해서 알아보도록 하겠습니다.

딥다이브중급약 5분#datastructure

Java

[Java] Stream 데이터 groupingBy 예제

Java Stream의 groupingBy의 메서드를 살펴보고, 간단한 예제를 통해서 어떻게 사용하는지 살펴보자.

튜토리얼중급약 9분#groupingby#java#stream

Spring · Spring Boot

Bean Validation 이슈 (Object Graph)

API관련 작업을 하다가, @RequestBody로 매핑된 객체의 필드값을 validaiton하기 위해서 @Valid 어노테이션(JSR-303) 을 적용했지만, 제대로 적용이 되지 않았다. 이에 대한 해결책을 알아보자.

트러블슈팅중급약 6분#bean-validation#hibernate#object-graph

JPA · Hibernate

JPA - 값 타입(6)

본 글은, 자바 ORM 표준 JPA 프로그래밍(김영한님) 책을 요약 정리한 포스팅입니다.

레퍼런스중급약 4분#jpa#orm

JPA · Hibernate

JPA - 영속성 관리(1)

본 글은, 자바 ORM 표준 JPA 프로그래밍(김영한님) 책을 요약 정리한 포스팅입니다.

레퍼런스중급약 7분#jpa#orm#영속성

Spring · Spring Boot

SpringBoot RabbitMQ 연동하기

이번시간에는 오픈소스 메세지 브로커인 RabbitMQ를 로컬에 설치하고, Spring Boot 프로젝트를 이용해서 간단하게 메세지를 전송하고, Listening 하는 샘플 프로젝트를 만들어보도록 하겠습니다.

튜토리얼중급약 7분#spring#springboot

테스트

Junit5 정리

Junit5에 특징과 기본적인 사용법, 문법에 대해서 알아보자.

레퍼런스심화약 17분#junit5#spring

Java

Garbage Collection - #2부 GC에 대한 설명

이전 시간에 Garbage Collection #1부 JVM HotSpot에 대해서 알아보았습니다. 오늘은 Garbage Collection이 heap 영역에서 어떻게 이루어 지는 지 알아 보도록 하겠습니다.

딥다이브중급약 5분#jvm

Java

Jackson, null 필드 무시하기

jackson에서 null값인 필드를 보여주지 않도록 지역적, 전역적으로 설정하는 방법에 대해서 알아보자

레퍼런스중급약 2분#jackson

Java

다양한 예제로 알아보는 자바(Java) 역순 정렬

자바(Java)의 역순 정렬을 다양한 예제를 통해 살펴보겠습니다. 각 예제를 통해 역순 정렬의 활용 방법을 자세히 알아보고 실제 코드로 확인해보세요. 1. 숫자 배열 역순 정렬 2. 문자열 리스트 역순 정렬 3. 사용자 정의 객체 역순 정렬 4.

튜토리얼중급약 3분#java

Spring · Spring Boot

Jackson 어노테이션 사용

오늘은 Jackson 어노테이션에 대해서 알아보도록 하겠습니다. 다음과 같이 스프링 부트를 사용하면 spring boot starter web 의존성에 jackson databind 라이브러리가 추가 되어 있다.

레퍼런스중급약 4분#jackson

Spring · Spring Boot

[Spring] DispatcherServlet에 대해서 알아보자

DispatcherSevlet의 기본전략과 여러가지 유형에 대해서 알아보자. DispatcherServlet 의 초기화 전략은 다음과 같다. 초기화 구조는 거의다 비슷하기 때문에 여기에서는 initViewResolvers(context) 를 살펴보자.

레퍼런스중급약 9분#spring

Spring · Spring Boot

[Spring] Profile 설정하기

실제 프로젝트에서 dev, stage, production과 같은 개발하는 환경이 다르다. @Profile 어노테이션을 이용해서 다른 profile을 설정하는 방법에 대해서 알아보자.

튜토리얼중급약 4분#spring

JPA · Hibernate

[JPA] Casecade 옵션

멤버(Member)와 사물함(Locker) 1:1 매핑 상황을 살펴보고, cascade 옵션이 어떤 상황에서 쓰이는지 알아보자. Member Locker 단방향 1:1 매핑에 대해서 살펴보자.

레퍼런스중급약 7분#jpa

JPA · Hibernate

[JPA] Custom Repository 만들기

기존의 JpaRepository를 상속받아서 기본적인 CRUD 기능을 사용할 수 있지만, 내가 1)커스텀하게 만들어서 사용하고 싶은 경우와 이미 JpaReposptry에서 제공하는 메서드를 새롭게 2)오버라이딩해서 사용할 수 있는 경우에 대해서 알아보

튜토리얼중급약 8분#jpa

JPA · Hibernate

[JPA] 도메인 클래스 컨버터란?

도메인 클래스 컨버터에 대해서 알아보자. 도메인 클래스 컨버터는 Spring Data Jpa를 사용하게 되면 Common 프로젝트에 있는 클래스 인데, 간단하게, id 엔티티 타입으로 변환 해주거나, 엔티티 id 로 변환해 주는 컨버터를 제공해준다.

레퍼런스중급약 4분#jpa

JPA · Hibernate

[JPA] null 처리

JPA에서 null처리 하는 방법에 대해서 알아 보자. JPA에서 단일 엔티티를 조회할 때, Optional객체를 리턴 받도록 설정되어 있다.

레퍼런스중급약 2분#jpa

JPA · Hibernate

[JPA] proxy, fetch 전략

프록시의 기본과, JPA에서 fetch 전략이 어떤 것들이 있는 지 알아보자. PA에서 식별자로 엔티티 하나를 조회할 때 EntityManager.find() 를 사용한다. 이 메서드는 영속성 컨텍스트에 엔티티가 없으면 데이터 베이스를 조회한다.

레퍼런스중급약 6분#jpa

JPA · Hibernate

[JPA] 쿼리메서드(Lookup 전략)

JPA에서 쿼리 메서드를 정의하는 방법에 대해서 알아보자. CREATE 메서드 이름을 분석해서 만듬 USE DECLARED QUERY 미리 정의해둔 쿼리를 찾아서 사용 CREATE IF NOT FOUND 기본 전략 미리 정의해둔 쿼리 찾아서 없으면 메

레퍼런스중급약 3분#jpa

JPA · Hibernate

[JPA] QueryDSL 설정방법

JPA에서 QueryDsl를 사용하는 방법에 대해서 알아보자. QueryDSL은 쿼리 domain specific language로 도메인에 맞게 쿼리를 프로그링 할 수 있다는 것이다.

튜토리얼심화약 11분#jpa#querydsl

JPA · Hibernate

[JPA]@Transactional를 통한 Optimization

Spring Data Jpa에서 제공하는 JpaRepository 의 구현체인 SimpleJpaReposity 의 @Transactional 을 어떻게 사용하는지 살펴보고, 실제 우리 서비스에서 어떻게 적용하면 좋을지에 대해서 생각해보자.

레퍼런스중급약 2분#jpa

Spring · Spring Boot

[Spring] SpringApplication를 통한 코딩

applicationContext가 등록되기 전에 발생한 이벤트를 Listen하는 리스너를 등록하려면 어떻게 해야할까? SampleListner를 만들고, ApplicationListenr 를 구현한다. Generic으로 발생할 이벤트를 명시해 준다.

레퍼런스중급약 2분#spring