development 19

JPA 참고사항 정리

※ 참고사항 정리 1. Entity와 Dto 매핑을 위한 MapStruct(Lombok) - @QueryProjection을 사용하여 DTO에 바인딩 할 수도 있고,Lombok에서 제공하는 MapStruct을 사용하여 엔티티가 아닌 원하는 DTO에 데이터를 바인딩하도록 설정 가능 (필드 이름이 상호 일치하지 않을 경우 @Mapping 어노테이션으로 매핑 규칙 정의) 참고: https://blog.naver.com/n_cloudplatform/222957490406 2. 대량 로우 업데이트의 경우 영속성 컨텍스트(EntityManager)에서 객체를 가져와 건건이 update를 할 수 있으나 (대상건을 먼저 영속성 컨텍스트에서 조회한 후 식별자로 객체를 찾아 for문으로 건건이 처리)   영속성 컨텍스트에..

development/spring 2023.09.15

JPA 정리본

*** JPA ***    ※ JPA의 핵심 내용      1. Persistence Context - 영속성 컨텍스트      2. ORM - 객체와 관계형 DB의 매핑 (Object Relational Mapping) -> JPA는 JAVA의 ORM 표준 명세이다.   1. JPA는 인터페이스, Hibernate는 구현체이다. (Spring-data-JPA는 Spring에서 JPA를 사용할 수 있도록 프레임워크에서 제공하는 JPA) 1-1. JAVA Persistence API - 자바 진영에서 제공하는 표준 ORM 기술이다. (객체와 RDB의 릴레이션 매핑) 1-2. JPA는 스레드가 생성될 때마다 EntityManagerFactory에서 EntityManager를 생성한다.      EntityM..

development/spring 2023.09.15

[Java] Generic 정리

안녕하세요. 이번 시간엔 그 동안 잘 모르고 사용해왔던 자바의 제네릭에 대해 정리해보려고 합니다. ※ 제네릭(Generic) 이란? 흔히 List나 Map 객체를 사용할 때 다음과 같이 코드를 작성합니다. List myList = new ArrayList(); Map myMap = new HashMap(); ArrayList와 HashMap 클래스를 살펴보면 클래스의 정의가 다음과 같은 형태로 되어 있습니다. // ArrayList.java public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable {...} // HashMap.java public class HashMap..

development/java 2023.08.02

테스트 주도 개발 - TDD란?

안녕하세요. 이번 시간엔 테스트 주도 개발이라 불리는 TDD - Test Driven Development 에 대해서 다뤄보려고 합니다. 최근 많은 기업들이 TDD와 DDD 기반의 개발, 테스트 문화를 채택하고 있어 현재 개발 시장에서 트랜드라고 해도 무방하지만.. 제가 SI업무를 하다보니 실무에서 접할 기회가 없어 이렇게 따로 학습하여 정리해보고자 합니다. 부족한 점이 많으니, 교정은 언제든 환영입니다! 테스트 주도 개발(TDD) 는 크게 두 가지 범주로 나눌 수 있습니다. TDD(Test Driven Development) : 순수한 자바 기반의 테스트 코드를 작성하는 것 ATDD(Application Test Driven Development) : Spring과 같은 프레임워크와 결합된 어플리케이션..

development/spring 2023.08.01

Spring Boot 와 Spring Legacy

올해 들어 새 프로젝트를 진행하고자 인텔리제이에서 스프링부트 프로젝트를 하나 생성하였는데요. 부트 버전이 벌써 3. 대가 출시되었습니다. 이에 맞게 Spring Swagger와 Spring Security 등도 최신버전을 채택하여 설정을 진행하였는데, Security는 Lambda를 사용하게끔 바뀌었고 Swagger는 Builder패턴을 사용하여 설정할 수 있도록 바뀌었습니다. 레퍼런스를 찾아보며 프레임웍을 구성하다 문득 그런 생각이 들었습니다. Spring Boot를 쓰는 이유가 뭘까? 누군가 제게 Legacy Project와 Boot의 차이를 묻는다면 적절한 대답을 하지 못할 것 같다는 생각이 들었고, 이에 이번 글을 통해 간략하게나마 Legacy Project와 Spirng Boot의 차이점을 정리..

development/spring 2023.07.18