반응형

Java 매핑 프레임워크의 성능

1. 소개 여러 계층으로 구성된 대규모 Java 애플리케이션을 만들려면 지속성 모델, 도메인 모델 또는 소위 DTO와 같은 여러 모델을 사용해야 합니다. 서로 다른 애플리케이션 계층에 대해 여러 모델을 사용하려면 빈 간 매핑 방법을 제공해야 합니다. 이 작업을 수동으로 수행하면 많은 상용구 코드를 빠르게 생성하고 많은 시간을 소비할 수 있습니다. 다행스럽게도 Java용 객체 매핑 프레임워크가 여러 개 있습니다. 이 사용방법(예제)에서는 가장 널리 사용되는 Java 매핑 프레임워크의 성능을 비교할 것입니다. 2. 매핑 프레임워크 2.1. 도저 Dozer는 재귀를 사용하여 한 개체에서 다른 개체로 데이터를 복사하는 매핑 프레임워크입니다 . 프레임워크는 빈 간에 속성을 복사할 수 있을 뿐만 아니라 다른 유형 ..

Spring 2023.01.02

Spring과 Hibernate를 사용한 DAO

1. 개요 이 기사에서는 Spring 및 Hibernate로 DAO를 구현하는 방법을 보여줍니다 . 핵심 Hibernate 구성에 대해서는 이전 Hibernate 5 with Spring 기사를 확인하십시오. 2. 더 이상 스프링 템플릿이 없습니다. Spring 3.0 및 Hibernate 3.0.1부터 Spring HibernateTemplate 은 더 이상 Hibernate 세션을 관리하는 데 필요하지 않습니다. 이제 컨텍스트 세션 을 사용할 수 있습니다. 세션은 Hibernate에 의해 직접 관리되고 트랜잭션 범위 전체에서 활성화됩니다. 결과적으로 HibernateTemplate 대신 Hibernate API를 직접 사용하는 것이 이제 모범 사례 입니다. 이렇게 하면 DAO 계층 구현이 Spring..

Spring 2023.01.02

Java의 날짜에서 연도, 월, 일 추출

1. 개요 이 짧은 사용방법(예제)에서는 Java에서 주어진 날짜 에서 연도 , 월, 일 을 추출하는 방법을 배웁니다. 레거시 java.util.Date 클래스를 사용하고 Java 8의 새로운 날짜-시간 라이브러리를 사용하여 이러한 값을 추출하는 방법에 대해 설명합니다. Java 8에서는 여러 가지 이유로 완전히 새로운 날짜 및 시간 라이브러리가 도입되었습니다 . 다른 이점 외에도 새 라이브러리는 주어진 Date 에서 Year , Month , Day 등을 추출하는 것과 같은 작업을 위한 더 나은 API를 제공합니다 . 새로운 날짜-시간 라이브러리에 대한 자세한 내용은 여기를 참조하십시오 . 2. LocalDate 사용 새로운 java.time 패키지에는 Date 를 나타내는 데 사용할 수 있는 여러 클..

Spring 2022.12.31

Jenkins 슬레이브 노드 설정

1. 개요 이 사용방법(예제)에서는 Jenkins 아키텍처의 분산 빌드 개념을 살펴보겠습니다. 또한 Jenkins 마스터-슬레이브 아키텍처 를 구성하는 방법을 배웁니다 . 또한 Jenkins 마스터에 파이프라인을 구축하여 슬레이브 노드에서 빌드 작업을 실행합니다. 2. 분산 빌드 이상적으로 는 표준 Jenkins를 설치하는 머신이 Jenkins 마스터가 됩니다. 슬레이브 노드 시스템에 에이전트라는 런타임 프로그램을 설치합니다. 에이전트 설치는 표준 Jenkins 설치가 아니지만 이 에이전트는 JVM에서 실행됩니다. 전용 실행기에서 Jenkins의 하위 작업 또는 기본 작업을 충분히 실행할 수 있습니다. 에이전트 노드 또는 슬레이브 노드는 얼마든지 가질 수 있습니다 . 또한 마스터 노드를 구성하여 어떤 작..

Spring 2022.12.31

Spring Boot – Testcontainers를 사용한 Keycloak 통합 테스트

1. 소개 통합 테스트는 애플리케이션이 제대로 작동하는지 검증할 때 중요합니다. 또한 인증은 민감한 부분이므로 정확하게 테스트해야 합니다 . Testcontainers를 사용하면 테스트 단계에서 Docker 컨테이너를 시작하여 실제 기술 스택에 대한 테스트를 실행할 수 있습니다. 이 기사에서는 Testcontainers를 사용하여 실제 Keycloak 인스턴스 에 대한 통합 테스트를 설정하는 방법을 살펴 봅니다. 2. Keycloak으로 스프링 Security 설정 Spring Security , Keycloak 구성 및 마지막으로 Testcontainers 를 설정해야 합니다 . 2.1. 스프링 부트 및 스프링 Security 설정 Spring Security 덕분에 Security 설정부터 시작하겠습..

Spring 2022.12.31

Java에서 이름이 같은 클래스 처리

1. 소개 Java의 클래스 이름 지정은 주요 프로그래밍 언어와 마찬가지로 Upper Camel Case 구문이라는 국제 규칙을 따릅니다. 그러나 같은 이름을 가진 클래스를 처리하는 경우 문제가 있습니다. 1998년 JDK의 초기 릴리스 이후 이 비정상적인 상황을 해결하는 방법에 대한 논쟁이 있었습니다. 여기에 JDK-4194542 가 있습니다. 이 주제에 대해 처음으로 공개된 버그이며 그 이후로 JDK 개발 팀의 권장 사항은 정규화된 클래스 이름을 사용하는 것이었습니다. 그럼에도 불구하고 JDK가 이러한 종류의 사용을 허용하는 기능을 곧 갖게 할 계획은 없습니다. 최근 2019년 8월 Java 개발자 커뮤니티는 이 상황을 해결하는 방법에 대한 새로운 제안( JEP )을 제기했으며 전 세계 Java 개발..

Spring 2022.12.31

Spring Data JPA – 데이터베이스 없이 앱 실행

1. 개요 이 사용방법(예제)에서는 실행 중인 데이터베이스 없이 Spring Boot 애플리케이션을 시작하는 방법을 배웁니다. 기본적으로 Spring Data JPA 가 포함된 Spring Boot 애플리케이션이 있는 경우 애플리케이션은 자동으로 데이터베이스 연결을 생성하려고 합니다. 그러나 애플리케이션이 시작될 때 데이터베이스를 사용할 수 없는 상황에서는 이를 피해야 할 수도 있습니다. 2. 설정 우리는 MySQL을 사용하는 간단한 Spring Boot 애플리케이션으로 작업할 것입니다. 애플리케이션을 설정하는 단계를 살펴보겠습니다. 2.1. 의존성 Spring Data JPA 스타터 및 MySql 커넥터 의존성을 pom.xml 파일 에 추가해 보겠습니다 . org.springframework.boot ..

Spring 2022.12.31

Spring Data JPA로 데이터베이스 스키마 생성

1. 개요 지속성 계층을 생성할 때 SQL 데이터베이스 스키마를 코드에서 생성한 개체 모델과 일치시켜야 합니다. 이는 수동으로 수행하기에는 많은 작업이 될 수 있습니다. 이 사용방법(예제)에서는 코드의 엔터티 모델을 기반으로 데이터베이스 스키마를 생성하고 내보내는 방법을 배웁니다 . 먼저 스키마 생성을 위한 JPA 구성 속성을 다룰 것입니다. 그런 다음 Spring Data JPA에서 이러한 속성을 사용하는 방법을 살펴보겠습니다. 마지막으로 Hibernate의 기본 API를 사용하여 DDL 생성을 위한 대안을 논의할 것입니다. 2. JPA 스키마 생성 JPA 2.1은 데이터베이스 스키마 생성을 위한 표준을 도입했습니다 . 따라서 이 릴리스부터 미리 정의된 구성 속성 집합을 통해 데이터베이스 스키마를 생성..

Spring 2022.12.31

Spring Data JPA를 사용한 사용자 지정 명명 규칙

1. 소개 Spring Data JPA는 애플리케이션에서 JPA를 사용할 수 있는 많은 기능을 제공합니다. 이러한 기능 중에는 DDL 및 DML 쿼리 모두에서 테이블 및 열 이름의 표준화가 있습니다. 이 짧은 사용방법(예제)에서는 이 기본 명명 규칙을 구성하는 방법을 살펴보겠습니다. 2. 기본 명명 규칙 먼저 테이블 및 열 이름에 관한 Spring의 기본 명명 규칙을 살펴보겠습니다. Person 엔터티 가 있다고 가정해 보겠습니다 . @Entity public class Person { @Id private Long id; private String firstName; private String lastName; } 여기에 데이터베이스에 매핑해야 하는 몇 가지 이름이 있습니다. 음, Spring은 기본적..

Spring 2022.12.31

Spring Data JPA 저장소에서 저장 프로시저 호출

1. 개요 저장 프로 시저는 데이터베이스 에 저장된 미리 정의된 SQL 문 그룹입니다. Java에는 저장 프로시저에 액세스하는 여러 가지 방법이 있습니다. 이 사용방법(예제)에서는 Spring Data JPA Repositories에서 저장 프로시저를 호출하는 방법을 배웁니다. 2. 프로젝트 설정 Spring Boot Starter Data JPA 모듈을 데이터 액세스 계층으로 사용 합니다 . 또한 백엔드 데이터베이스로 MySQL을 사용할 것입니다. 따라서 프로젝트 pom.xml 파일 에 Spring Data JPA , Spring Data JDBC 및 MySQL 커넥터 의존성이 필요합니다. org.springframework.boot spring-boot-starter-data-jpa org.sprin..

Spring 2022.12.31
반응형