Spring 15

Java Spring_ @Mapping

@Mapping 어노테이션은 MapStruct를 사용하여 자동으로 DTO와 Entity 객체를 매핑해 줄 때 사용되는 어노테이션 중 하나입니다. @Mapping은 각 매핑 대상에 대한 정보를 제공하여 매핑 프로세스를 구성하며 다음과 같은 속성을 갖습니다. source : 매핑되는 객체에서 가져올 속성 이름입니다. target : 매핑 대상 객체의 속성 이름입니다. dateFormat : 날짜 형식을 변경하는 데 사용됩니다. qualifiedByName : 매핑에 사용할 메소드 이름을 지정합니다. ignore : 매핑을 무시합니다. defaultValue : 매핑 대상 객체의 속성 값이 null일 때 기본값을 설정합니다. 예를 들어, 다음과 같은 객체가 있다고 가정해 봅시다. public class Sou..

Spring 2023.03.05

Java Spring JPA (Cascade vs EntityManager.persist())

Cascade JPA에서 Cascade란 부모 엔티티와 관련된 자식 엔티티의 상태 변화를 전파시키는 옵션입니다. 즉, 부모 엔티티의 상태가 변경되면, 자식 엔티티의 상태도 같이 변경되도록 자동으로 처리해 주는 기능입니다. Cascade의 장단점 Cascade를 사용하면 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장할 수 있어서 코드를 간략화하고 편리하게 사용할 수 있습니다. 또한, 저장, 삭제, 수정 등을 한 번에 처리할 수 있기 때문에 효율적입니다. 하지만, Cascade를 사용하면 자식 엔티티를 저장할 때 부모 엔티티가 먼저 저장되어 있어야 하기 때문에 이를 고려하여 코드를 작성해야 합니다. 또한, 자식 엔티티를 일괄적으로 처리하기 때문에 필요하지 않은 자식 엔티티까지 저장되는 경우가 생길 수 있..

Spring 2023.03.05

Spring Framework_ApplicationEventPublisher,@EventListener

ApplicationEventPublisher Interface Spring Framework는 이벤트 기반 프로그래밍(Event-driven programming)을 지원합니다. 이벤트 기반 프로그래밍은 특정 이벤트 발생 시 해당 이벤트를 처리하는 동작을 하는 방식입니다. Spring Framework에서는 이벤트 발생 시 특정 작업을 수행하는 기능을 ApplicationEventPublisher와 @EventListener를 통해 제공합니다. @FunctionalInterface public interface ApplicationEventPublisher { /** * Notify all matching listeners registered with this * application of an app..

Spring 2023.03.03

Spring을 이용해 이메일 보내는 방법

javax.mail 라이브러리 자바에서 구글 이메일을 보내는 방법에는 여러 가지가 있지만, 그중에서 가장 간단하게 구현할 수 있는 방법은 javax.mail 라이브러리를 사용하는 것입니다. 이 라이브러리를 사용하기 위해서는 우선 메일 서버의 호스트 이름과 포트 번호, 계정 정보 등을 설정해야 합니다. 이후에는 메일을 보낼 때 필요한 정보를 설정한 후, 메일을 보내는 코드를 작성하면 됩니다. 아래는 javax.mail 라이브러리를 사용하여 구글 이메일을 보내는 코드입니다. import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class EmailSender { public static void main(S..

Spring 2023.03.02

Spring Data JPA _ 페이징처리

Spring Data JPA에서 페이징 처리하기 Spring Data JPA는 DB 쿼리를 작성하기 위해 간편하게 사용할 수 있는 API를 제공합니다. 이 중 페이징 처리를 도와주는 클래스와 메서드들을 사용하면 간단하게 페이징 기능을 구현할 수 있습니다. Page 클래스 Spring Data JPA에서 페이징 처리를 위해 사용하는 클래스는 Page 클래스입니다. Page 클래스는 페이지 출력을 도와주는 클래스로 여러가지 메서드들이 존재합니다. Page 클래스를 도와주는 메서드 중 PageRequest.of() 는 page와 size를 기본인자로 사용하며 추가적으로 정렬을 어떤 방식으로 할 것인지를 정할 수 있는 메서드입니다. page와 size는 출력하고자 하는 페이지가 총 몇 페이지이며, 하나의 페이지..

Spring 2023.02.22