반응형

web.xml이없는 Java 웹 애플리케이션

1. 개요 이 예제에서는 Servlet 3.0+를 사용하여 Java 웹 애플리케이션을 작성합니다 . web.xml 파일을 제거하는 데 도움 이되는 세 가지 어노테이션 ( @WebServlet , @WebFilter 및 @WebListener)을 살펴 보겠습니다 . 2. Maven 의존성 이러한 새 어노테이션을 사용하려면 javax.servlet-api 의존성 을 포함해야합니다 . javax.servlet javax.servlet-api 4.0.1 3. XML 기반 구성 Servlet 3.0 이전에는 web.xml 파일 에서 Java 웹 애플리케이션을 구성했습니다 . com.baeldung.servlets3.web.listeners.RequestListener uppercaseServlet com.bael..

Spring 2021.03.29

점 (.)이있는 Spring MVC @PathVariable이 잘립니다.

1. 개요 이 짧은 예제에서는 Spring MVC로 작업 할 때의 일반적인 문제에 대해 논의 할 것 입니다. @RequestMapping 과 함께 Spring @PathVariable 을 사용하여 점이 포함 된 요청 URI의 끝을 매핑 할 때 부분 값으로 끝납니다. 변수에서 마지막 점에서 잘립니다. 다음 섹션에서는 이런 일이 발생하는 이유와이 동작을 변경하는 방법에 초점을 맞출 것입니다. Spring MVC에 대한 소개 는이 기사 를 참조 하십시오 . 2. 원하지 않는 스프링 도움말 프레임 워크는 경로 변수를 해석하는 방식 때문에 종종 원치 않는 동작을 유발합니다. 특히 Spring은 마지막 점 뒤에있는 모든 것이 .json 또는 .xml 과 같은 파일 확장자라고 간주합니다 . 결과적으로 매개 변수를 검..

Spring 2021.03.28

스프링 배치 작업 테스트

1. 소개 다른 Spring 기반 애플리케이션과 달리 배치 작업 테스트에는 작업이 실행되는 방식의 비동기 특성으로 인해 몇 가지 특정 문제가 있습니다. 이 예제에서는 Spring Batch 작업 을 테스트하기위한 다양한 대안을 탐색 할 것입니다. 2. 필수 의존성 우리가 사용하고있는 스프링 부팅 스타터 배치를 그래서 먼저 우리의에서 필요한 종속까지의 설정을하자, pom.xml 파일 : org.springframework.boot spring-boot-starter-batch 2.4.0 org.springframework.boot spring-boot-starter-test 2.4.0 test org.springframework.batch spring-batch-test 4.3.0.RELEASE test ..

Spring 2021.03.28

Spring 데이터에서 데이터 모델 감사를 위해 JaVers 사용

1. 개요 이 예제에서는 간단한 Spring Boot 애플리케이션 에서 JaVers를 설정하고 사용 하여 엔티티 변경을 추적 하는 방법을 살펴 봅니다 . 2. JaVers 변경 가능한 데이터를 다룰 때 일반적으로 데이터베이스에 저장된 엔티티의 마지막 상태 만 있습니다. 개발자로서 우리는 상태를 변경 한 이벤트에 대한 로그 파일을 검색하면서 애플리케이션을 디버깅하는 데 많은 시간을 보냅니다. 많은 다른 사용자가 시스템을 사용하는 프로덕션 환경에서는 더욱 까다로워집니다. 다행히 JaVers 와 같은 훌륭한 도구가 있습니다 . JaVers는 애플리케이션의 엔티티 변경을 추적하는 데 도움이되는 감사 로그 프레임 워크입니다. 이 도구의 사용은 디버깅 및 감사에만 국한되지 않습니다. 분석을 수행하고 Security..

Spring 2021.03.28

Google Guice 사용방법(예제)

1. 소개 이 기사에서는 Google Guice의 기본 사항을 살펴 봅니다. Guice에서 기본 DI (Dependency Injection) 작업을 완료하는 방법을 살펴 보겠습니다. 또한 Guice 접근 방식을 Spring 및 Contexts and Dependency Injection (CDI)과 같은 기존 DI 프레임 워크의 접근 방식과 비교하고 대조 할 것입니다. 이 기사는 독자가 의존성 주입 패턴 의 기본 사항을 이해하고 있다고 가정합니다 . 2. 설정 Maven 프로젝트에서 Google Guice를 사용하려면 pom.xml에 다음 의존성을 추가해야합니다 . com.google.inject guice 4.1.0 Guice 확장의 모음 (우리가 그 나중에 조금 다룰 것이다)도있다 여기 뿐만 아니라..

Spring 2021.03.28

curl로 REST API 테스트

1. 개요 이 예제은 curl을 사용하여 REST API를 테스트하는 방법에 대한 간략한 개요를 제공합니다 . curl 은 데이터 전송을위한 명령 줄 도구이며 HTTP를 포함하여 약 22 개의 프로토콜을 지원합니다. 이 조합은 REST 서비스를 테스트하기위한 아주 좋은 임시 도구입니다. 2. 명령 줄 옵션 curl 은 200 개 이상의 명령 줄 옵션을 지원합니다 . 명령의 URL과 함께 0 개 이상을 사용할 수 있습니다. 우리의 목적을 위해 그것을 사용하기 전에, 우리의 삶을 더 쉽게 만들어 줄 두 가지를 살펴 보겠습니다. 2.1. 말 수가 많은 테스트 할 때 상세 모드를 다음으로 설정하는 것이 좋습니다. curl -v http://www.example.com/ 결과적으로 명령은 확인 된 IP 주소, 연..

Spring 2021.03.28

Spring REST API에 대한 메트릭

1. 개요 이 사용방법(예제)에서는 기본 메트릭을 Spring REST API에 통합 합니다 . 먼저 간단한 서블릿 필터를 사용한 다음 Spring Boot Actuator를 사용하여 메트릭 기능을 구축 할 것입니다. 2. web.xml 앱 의 web.xml 에 " MetricFilter " 필터를 등록하는 것으로 시작하겠습니다 . metricFilter org.baeldung.web.metric.MetricFilter metricFilter /* 물론 완전히 구성 가능한 "/ *"로 들어오는 모든 요청을 처리하기 위해 필터를 매핑하는 방법에 유의하십시오 . 3. 서블릿 필터 이제 사용자 지정 필터를 만들어 보겠습니다. public class MetricFilter implements Filter { p..

Spring 2021.03.27

프리미티브 배열을 List으로 변환

1. 개요 이 짧은 예제에서는 프리미티브 배열을 해당 유형의 객체 List 으로 변환하는 방법을 보여줍니다 . 일반적으로 Java에서 오토 박싱 을 사용하려고 할 수 있습니다 . 그러나 다음 섹션에서 살펴 보 겠지만 오토 박싱의 작동 방식에 대한 우리의 직관은 종종 잘못 될 수 있습니다. 2. 문제 문제의 정의부터 시작하겠습니다. 프리미티브 배열 ( int [] )이 있고 그 배열을 List ( List ) 로 변환하려고 합니다. 직관적 인 첫 번째 시도는 다음과 같습니다. int[] input = new int[]{1,2,3,4}; List output = Arrays.asList(input); 불행히도 이것은 유형 비 호환성으로 인해 컴파일되지 않습니다 . 오토 박싱이 프리미티브 배열과 함께 작동 할..

Spring 2021.03.27

자바에서 객체 비교

1. 소개 객체 비교는 객체 지향 프로그래밍 언어의 필수 기능입니다. 이 예제에서는 객체를 비교할 수있는 Java 언어의 일부 기능을 살펴 보겠습니다. 또한 외부 라이브러리에서 이러한 기능을 살펴볼 것입니다. 2. == 및 ! = 연산자 두 개의 Java 객체가 각각 동일한 지 여부를 알 수 있는 == 및 ! = 연산자 부터 시작하겠습니다 . 2.1. 기초 요소 기본 유형의 경우 동일하다는 것은 동일한 값을 갖는 것을 의미합니다. assertThat(1 == 1).isTrue(); 자동 언 박싱 덕분에 기본 값을 래퍼 유형 대응 항목과 비교할 때도 작동합니다 . Integer a = new Integer(1); assertThat(1 == a).isTrue(); 두 정수의 값이 서로 다른 경우 == 연산..

Spring 2021.03.27

Gradle로 Java 애플리케이션 빌드

1. 개요 이 사용방법(예제)는 Gradle을 사용하여 자바 기반 프로젝트를 빌드하는 방법에 대한 실용적인 사용방법(예제)를 제공합니다 . 프로젝트 구조를 수동으로 생성하고, 초기 구성을 수행하고, Java 플러그인 및 JUnit 의존성을 추가하는 단계를 설명합니다. 그런 다음 애플리케이션을 빌드하고 실행합니다. 마지막으로, 마지막 섹션에서는 Gradle Build Init 플러그인을 사용하여이를 수행하는 방법에 대한 예제를 제공합니다. 몇 가지 기본 소개는 Gradle 소개 문서에서도 찾을 수 있습니다 . 2. 자바 프로젝트 구조 자바 프로젝트를 수동으로 만들고 빌드를 준비하기 전에 Gradle 을 설치 해야합니다 . 이름이 gradle-employee-app 인 PowerShell 콘솔을 사용하여 프..

Spring 2021.03.27
반응형