반응형

Spring Controller의 JUnit 테스트를 위한 ApplicationContext를 로드하지 못했습니다.

1. 개요 Spring Boot 애플리케이션에서 빈 의 하이브리드 정의는 어노테이션 기반 및 XML 기반 구성 을 모두 포함하는 것 입니다. 이 환경에서는 테스트 클래스에서 XML 기반 구성을 사용할 수 있습니다 . 그러나 때때로 이 상황에서 " Failed to load ApplicationContext "라는 애플리케이션 컨텍스트 로드 오류가 발생할 수 있습니다 . 이 오류는 애플리케이션 컨텍스트가 테스트 컨텍스트에 로드되지 않았기 때문에 테스트 클래스에 나타납니다. 이 예제에서는 XML 애플리케이션 컨텍스트를 Spring Boot 애플리케이션의 테스트에 통합하는 방법에 대해 설명합니다. 2. "ApplicationContext 로드 실패" 오류 Spring Boot 애플리케이션에 XML 기반 애플리..

Java 2022.10.31

Spring의 순환 의존성

1. 순환 의존성이란 무엇입니까? 순환 의존성은 빈 A가 다른 빈 B에 종속되고 빈 B도 빈 A에 종속될 때 발생합니다.Bean A → Bean B → Bean A물론 더 많은 빈을 암시할 수 있습니다.Bean A → Bean B → Bean C → Bean D → Bean E → Bean A 2. Spring에 일어나는 일 Spring 컨텍스트가 모든 빈을 로드할 때 완전히 작동하는 데 필요한 순서대로 빈을 생성하려고 시도합니다. 순환 의존성이 없다고 가정해 보겠습니다. 대신 다음과 같은 것이 있습니다.Bean A → Bean B → Bean CSpring은 bean C를 생성하고 bean B를 생성하고 (그리고 그것에 bean C를 주입) bean A를 생성하고 bean B를 주입한다.그러나 순환 의..

Java 2022.10.31

최신 버전으로 업데이트 후 @EnableSwagger2 교체 물어보다

최신 버전으로 업데이트 후 @EnableSwagger2 교체 물어보다 1. 질문(문제점): springfox-swagger2최신 버전 으로 마이그레이션 2.10.0했지만 @EnableSwagger2더 이상 사용되지 않는 것 같습니다. Swagger를 Spring Boot 프로젝트에 사용하려면 어떤 어노테이션을 사용해야 합니까? @EnableSwagger2WebMvc? 2. 해결방안: @EnableSwagger2는 swagger 2.10.x에서 제거되었지만 3.xx에서는 다시 있습니다. @EnableSwagger2WebMvc는 3.0.0+에서 더 이상 사용되지 않습니다. 웃기지만 사실입니다 :) 선택적으로 Spring 5 MVC에서 다음 의존성을 사용할 수 있습니다. io.springfox springfo..

Java 2022.10.29

@SpringBootTest가 테스트 속성을 사용하지 않음 물어보다

@SpringBootTest가 테스트 속성을 사용하지 않음 물어보다 1. 질문(문제점): Spring Boot 애플리케이션에서 application.properties를 암호화하기 위해 jasypt를 사용하고 있습니다. 내 목표는 jasypt가 테스트 암호화기 암호와 함께 사용되도록 통합 테스트를 업데이트하는 것입니다. 내 문제는 내 테스트가 테스트 속성을 무시하지 않는다는 것입니다. 의존성: com.github.ulisesbocchio jasypt-spring-boot-starter 3.0.2 org.springframework.boot spring-boot-starter-test test org.junit.jupiter junit-jupiter-api ${junit-jupiter.version} te..

Java 2022.10.29

JavaBeanExecutable HV000254 Java Enum에 대한 매개변수 메타데이터 누락 물어보다

JavaBeanExecutable HV000254 Java Enum에 대한 매개변수 메타데이터 누락 물어보다 1. 질문(문제점): 스프링 부트 애플리케이션을 1.5에서 2.3.5로 업그레이드했습니다(스프링 부트 gradle 플러그인 사용). 스프링 부트 애플리케이션이 시작되면 다음 경고가 4번 나타납니다. 2020-11-05 13:29:19.432 WARN 3931 --- [nio-8080-exec-4] ohvipjavabean.JavaBeanExecutable : HV000254: FacetField(String, int, String, String, String, int, Class)에 대한 매개변수 메타데이터 누락 , 암시적 또는 합성 매개변수를 선언합니다. 여러 매개변수에 동일한 삭제가 있는 경우..

Java 2022.10.29

스트림을 사용하여 맵 작업

1. 소개 이 예제에서는 Java Stream 을 사용 하여 Map 으로 작업 하는 방법에 대한 몇 가지 예 를 논의할 것 입니다. 이러한 연습 중 일부는 양방향 Map 데이터 구조를 사용하여 해결할 수 있지만 여기서는 기능적 접근 방식에 관심이 있습니다. 먼저 Maps 및 Stream 작업에 사용할 기본 아이디어를 설명합니다 . 그런 다음 Stream 을 사용하는 Maps 및 구체적인 솔루션과 관련된 몇 가지 다른 문제를 제시합니다 . 2. 기본 아이디어 주목해야 할 주요 사항은 Stream 은 Collection 에서 쉽게 얻을 수 있는 요소의 시퀀스라는 것 입니다. 맵 은 시퀀스 없이 키에서 값으로 매핑되는 다른 구조를 갖습니다. 그러나 이것이 우리가 Map 구조를 다른 시퀀스로 변환할 수 없다는 ..

Java 2022.10.29

Java 스트림으로 숫자 합산하기

1. 소개 이 빠른 사용방법(예제)에서는 Stream API 를 사용하여 정수의 합을 계산하는 다양한 방법을 조사 합니다 . 단순화를 위해 예제에서는 정수를 사용합니다. 그러나 long과 double에도 동일한 방법을 적용할 수 있습니다. 2. Stream.reduce() 사용 Stream.reduce() 는 스트림의 요소를 축소 하는 터미널 작업입니다 . 스트림의 각 요소에 이항 연산자(누산기)를 적용합니다. 여기서 첫 번째 피연산자는 이전 애플리케이션의 반환 값이고 두 번째 피연산자는 현재 스트림 요소입니다. reduce() 메서드 를 사용하는 첫 번째 메서드 에서 accumulator 함수는 두 개의 Integer 값을 더하고 Integer 값을 반환하는 람다 식입니다 . List integers ..

Java 2022.10.29

자바 – 무작위 문자열 생성

1. 소개 이 예제에서는 먼저 표준 Java 라이브러리를 사용한 다음 Java 8 변형을 사용하고 마지막으로 Apache Commons Lang 라이브러리 를 사용하여 Java에서 랜덤의 문자열을 생성하는 방법을 배웁니다 . 이 기사는 여기 Baeldung 의 "Java – Back to Basic" 시리즈 의 일부입니다. 2. 일반 Java로 랜덤의 무제한 문자열 생성 간단하게 시작 하여 7자로 제한 되는 랜덤의 문자열 을 생성해 보겠습니다. @Test public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() { byte[] array = new byte[7]; // length is bounded by 7 new..

Java 2022.10.29

Mockito ArgumentCaptor 사용

1. 개요 이 예제에서는 단위 테스트에서 Mockito ArgumentCaptor 를 사용하는 일반적인 사용 사례를 다룰 것 입니다. 또는 다른 Mockito.verify 사용 사례에 대해서는 Mockito Verify Cookbook 을 참조하십시오 . 2. ArgumentCaptor 사용하기 ArgumentCaptor 를 사용하면 검사하기 위해 메서드에 전달된 인수를 캡처할 수 있습니다. 이것은 테스트하려는 메서드 외부의 인수에 액세스할 수 없을 때 특히 유용합니다. 예를 들어 테스트하려는 send 메서드가 있는 EmailService 클래스를 생각해 보십시오. public class EmailService { private DeliveryPlatform platform; public EmailSer..

Java 2022.10.29

Java에서 문자열을 바이트 배열로 변환하고 그 반대로

1. 소개 Java에서 문자열 과 바이트 배열 사이를 변환해야 하는 경우가 많습니다 . 이 사용방법(예제)에서는 이러한 작업을 자세히 살펴보겠습니다. 먼저 문자열 을 바이트 배열 로 변환하는 다양한 방법을 살펴보겠습니다 . 그런 다음 유사한 작업을 반대로 살펴보겠습니다. 2. 문자열 을 바이트 배열 로 변환 String 은 Java에서 유니코드 문자의 배열로 저장됩니다 . 바이트 배열 로 변환하기 위해 문자 시퀀스를 바이트 시퀀스로 변환합니다. 이 번역에서는 Charset 인스턴스를 사용합니다 . 이 클래스는 char 시퀀스와 byte 시퀀스 간의 매핑을 지정 합니다 . 위의 과정을 인코딩 이라고 합니다. Java에서는 여러 가지 방법으로 문자열 을 바이트 배열로 인코딩할 수 있습니다. 예를 들어 각각에..

Java 2022.10.29
반응형