반응형

Embedded MongoDB를 사용한 Spring Boot 통합 테스트

1. 개요 이 예제에서는 Spring Boot와 함께 Flapdoodle의 임베디드 MongoDB 솔루션을 사용하여 MongoDB 통합 테스트를 원활하게 실행하는 방법을 배웁니다. MongoDB는 대중적인 NoSQL 문서 데이터베이스 입니다. 높은 확장성, 내장된 샤딩 및 뛰어난 커뮤니티 지원 덕분 에 많은 개발자들이 종종 "NoSQL 스토리지"로 간주 합니다 . 다른 지속성 기술과 마찬가지로 애플리케이션의 나머지 부분과 데이터베이스 통합을 쉽게 테스트할 수 있는 것이 중요합니다 . 고맙게도 Spring Boot를 사용하면 이러한 종류의 테스트를 쉽게 작성할 수 있습니다. 2. 메이븐 의존성 먼저 Boot 프로젝트의 Maven 부모를 설정하겠습니다. 부모 덕분 에 각 Maven 의존성에 대한 버전을 수동..

Spring 2022.12.20

Spring으로 SOAP 웹 서비스 만들기

1. 개요 이 사용방법(예제)에서는 Spring Boot Starter 웹 서비스 를 사용하여 SOAP 기반 웹 서비스 를 만드는 방법을 배웁니다 . 2. SOAP 웹 서비스 즉, 웹 서비스는 네트워크를 통한 통신을 허용하는 기계 VS 기계, 플랫폼 독립적인 서비스입니다. SOAP는 메시징 프로토콜입니다. 메시지(요청 및 응답)는 HTTP를 통한 XML 문서 입니다. XML 계약은 WSDL (Web Services Description Language)로 정의됩니다. 서비스의 메시지, 바인딩, 작업 및 위치를 정의하는 규칙 집합을 제공합니다. SOAP에서 사용되는 XML은 매우 복잡해질 수 있습니다. 이러한 이유로 이 예제에서 볼 수 있듯이 JAX-WS 또는 Spring과 같은 프레임워크와 함께 SOAP..

Spring 2022.12.20

@Scheduled 어노테이션을 테스트하는 방법

1. 소개 Spring Framework 에서 사용 가능한 어노테이션 중 하나 는 @Scheduled 입니다. 이 어노테이션을 사용 하여 예약된 방식으로 작업을 실행할 수 있습니다 . 이 사용방법(예제)에서는 @Scheduled 어노테이션을 테스트하는 방법을 살펴봅니다. 2. 의존성 먼저 Spring Initializer 에서 Spring Boot Maven 기반 애플리케이션을 생성해 보겠습니다 . org.springframework.boot spring-boot-starter-parent 2.7.2 또한 몇 가지 Spring Boot 스타터를 사용해야 합니다. org.springframework.boot spring-boot-starter org.springframework.boot spring-boo..

Spring 2022.12.20

아파치 시로 소개

1. 개요 이 기사에서는 다재다능한 Java Security 프레임워크인 Apache Shiro 를 살펴보겠습니다 . 프레임워크는 인증, 권한 부여, 암호화 및 세션 관리를 제공하므로 사용자 정의가 가능하고 모듈식입니다. 2. 의존성 Apache Shiro에는 많은 모듈 이 있습니다. 그러나 이 사용방법(예제)에서는 shiro-core 아티팩트만 사용합니다. pom.xml 에 추가해 보겠습니다 . org.apache.shiro shiro-core 1.4.0 Apache Shiro 모듈의 최신 버전은 Maven Central에서 찾을 수 있습니다. 3. Security 관리자 설정 SecurityManager 는 Apache Shiro 프레임워크의 중심 부분입니다 . 응용 프로그램에는 일반적으로 실행 중인..

Spring 2022.12.20

Java용 Stripe API 소개

1. 개요 Stripe 는 기업과 개인이 인터넷을 통해 결제를 받을 수 있도록 하는 클라우드 기반 서비스이며 클라이언트 측 라이브러리(JavaScript 및 기본 모바일)와 서버 측 라이브러리(Java, Ruby, Node.js 등)를 모두 제공합니다. Stripe은 지불을 받는 복잡성을 줄이는 추상화 계층을 제공합니다. 결과적 으로 신용 카드 세부 정보를 직접 처리할 필요가 없습니다. 대신 청구 승인을 상징하는 토큰을 처리합니다 . 이 예제에서는 사용자가 신용 카드를 입력하고 나중에 Stripe API for Java를 사용하여 일정 금액을 카드에 청구할 수 있는 샘플 Spring Boot 프로젝트를 생성합니다 . 2. 의존성 프로젝트에서 Java용 Stripe API를 사용하기 위해 pom.xml 에..

Spring 2022.12.20

Spring 5 기능 빈 등록

1. 개요 Spring 5는 애플리케이션 컨텍스트에서 기능 빈 등록을 지원합니다. 간단히 말해서 이것은 GenericApplicationContext 클래스 에 정의된 새로운 registerBean() 메소드 의 오버로드된 버전을 통해 수행될 수 있습니다 . 이 기능이 작동하는 몇 가지 예를 살펴보겠습니다. 2. 메이븐 의존성 Spring 5 프로젝트 를 설정하는 가장 빠른 방법 은 pom.xml 에 spring-boot-starter-parent 의존성을 추가하여 Spring Boot 를 사용하는 것입니다. org.springframework.boot spring-boot-starter-parent 2.7.2 JUnit 테스트 에서 웹 애플리케이션 컨텍스트를 사용하려면 예제에 spring-boot-st..

Spring 2022.12.20

Spring MVC의 세션 속성

1. 개요 웹 애플리케이션을 개발할 때 여러 뷰에서 동일한 속성을 참조해야 하는 경우가 많습니다. 예를 들어 여러 페이지에 표시해야 하는 장바구니 콘텐츠가 있을 수 있습니다. 이러한 속성을 저장하기에 좋은 위치는 사용자의 세션입니다. 이 예제에서는 간단한 예제에 초점을 맞추고 세션 속성으로 작업하기 위한 2가지 다른 전략을 검토합니다 . 범위 지정 프록시 사용 @SessionAttributes 어노테이션 사용 2. 메이븐 설정 Spring Boot 스타터를 사용하여 프로젝트를 부트스트랩하고 필요한 모든 의존성을 가져옵니다. 설정에는 부모 선언, 웹 스타터 및 thymeleaf 스타터가 필요합니다. 또한 단위 테스트에서 몇 가지 추가 유틸리티를 제공하기 위해 스프링 테스트 스타터를 포함합니다. org.sp..

Spring 2022.12.20

Mockito Mockito.mockStatic()을 사용하여 정적 무효 메서드를 모의합니다.

Mockito Mockito.mockStatic()을 사용하여 정적 무효 메서드를 모의합니다. 1. 질문(문제점): 저는 Spring Boot를 사용하고 있으며 단위 테스트 중 하나에서 Files.delete(somePath)기능을 조롱해야 합니다. 정적 무효 방법입니다. Mockito를 사용하면 void 메서드를 조롱할 수 있다는 것을 알고 있습니다. doNothing().when(MyClass.class).myVoidMethod() 그리고 2020년 7월 10일부터 정적 메서드를 조롱할 수 있습니다. try (MockedStatic mockedStaticClass = Mockito.mockStatic(MyStaticClass.class)) { mockedStaticClass.when(MyStaticC..

Spring 2022.12.19

Spring WebFlux - Flux를 List<Object>로 변환

Spring WebFlux - Flux를 List로 변환 1. 질문(문제점): Spring WebFlux를 배우고 있습니다. 내 엔티티는 다음과 같습니다. @Table("users") public class User { @Id private Integer id; private String name; private int age; private double salary; } 아래와 같은 리포지토리(H2 데이터베이스를 사용하는 R2)가 있습니다. public interface UserRepository extends ReactiveCrudRepository { } 내 컨트롤러는 다음과 같습니다. @Autowired private UserRepository userRepository; private stati..

Spring 2022.12.19

NoClassDefFoundError: 스칼라/수학/spring-kafka-test 2.5.7을 사용한 주문

NoClassDefFoundError: 스칼라/수학/spring-kafka-test 2.5.7을 사용한 주문 1. 질문(문제점): JUnit 5 확장을 제공하는 작은 라이브러리가 있는데 , 전체 컨텍스트를 버리는 대신 테스트 간에 오프셋을 최신으로 재설정하는 대신 EmbeddedKafkaBroker사용하는 것보다 성능이 향상 됩니다.@DirtiesContext 내 build.gradle은 다음과 같습니다. import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { id 'org.springframework.boot' version '2.3.5.RELEASE' apply false id 'io.spring.dependency-manag..

Spring 2022.12.19
반응형