bytebuddy2 [JAVA] 다이나믹 프록시 스프링 데이터 JPA는 어떻게 동작할까?@Entity@Setterpublic class Book { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @Column(name = "TITLE") private String title;}public interface BookRepository extends JpaRepository {}스프링 데이터 JPA에서는 JpaRepository를 상속받기만 하면 별도의 구현체를 제공하지 않아도 자동으로 필요한 메서드들이 동작한다. 이는 스프링의 DI(의존성 주입)와 프록시 패턴을 사용하여 구현된 구조 덕분이다. 프록시 생성스프링 데이터 JPA는 @EnableJpaRepositor.. 2024. 10. 16. [JAVA] 바이트 코드 조작 코드 커버리지는 어떻게 측정할까? JaCoCo(Java Code Coverage) Java 애플리케이션에서 테스트 커버리지를 측정하는 오픈 소스 라이브러리이다. 주로 단위 테스트, 통합 테스트 등을 실행할 때 각 코드가 얼마나 실행되었는지(커버리지)를 확인하기 위해 사용된다.JaCoCo는 Maven, Gradle 같은 빌드 도구와 쉽게 통합할 수 있어, 테스트를 실행할 때 자동으로 코드 커버리지 리포트를 생성한다. 이 리포트는 HTML, XML, CSV 등의 다양한 포맷으로 제공되며, 이를 통해 코드가 충분히 테스트되고 있는지 파악하고, 테스트를 추가해야 할 부분을 쉽게 찾을 수 있다.JaCoCo 문서 https://www.eclemma.org/jacoco/trunk/doc/index.html간단하게 테.. 2024. 10. 10. 이전 1 다음