반응형

Java 15의 봉인된 클래스 및 인터페이스

1. 개요 Java SE 15 릴리스 에는 미리 보기 기능으로 봉인된 클래스( JEP 360 )가 도입되었습니다 . 이 기능은 Java에서 보다 세분화된 상속 제어를 활성화하는 것입니다. 봉인을 통해 클래스와 인터페이스는 허용되는 하위 유형을 정의할 수 있습니다. 즉, 클래스 또는 인터페이스는 이제 이를 구현하거나 확장할 수 있는 클래스를 정의할 수 있습니다. 도메인 모델링 및 라이브러리 Security 강화에 유용한 기능입니다. 2. 동기 클래스 계층 구조를 사용하면 상속을 통해 코드를 재사용할 수 있습니다. 그러나 클래스 계층 구조는 다른 목적을 가질 수도 있습니다. 코드 재사용은 훌륭하지만 항상 우리의 주요 목표는 아닙니다. 2.1. 모델링 가능성 클래스 계층 구조의 다른 목적은 도메인에 존재하는 ..

Spring 2021.09.08

스프링 NoSuchBeanDefinitionException

1. 개요 이 기사에서 우리는 Spring org.springframework.beans.factory.NoSuchBeanDefinitionException에 대해 논의하고 있습니다. 이것은 단순히 Spring 컨텍스트에 정의되지 않은 빈 을 해결하려고 할 때 BeanFactory에서 throw되는 일반적인 예외 입니다. 이 문제의 가능한 원인과 사용 가능한 솔루션을 설명합니다. 그리고 물론, 예외는 예상하지 못한 경우에 발생합니다. Spring의 예외 및 솔루션의 전체 List을 살펴보십시오 . 2. 원인: 의존성에 대해 […] 유형의 적격 Bean을 찾을 수 없습니다. 이 예외의 가장 일반적인 원인은 정의되지 않은 빈을 주입하려는 것입니다. 예를 들어 – BeanB 는 공동 작업자 – BeanA 에서..

Spring 2021.09.07

시스템 규칙 라이브러리 사용방법(예제)

1. 개요 때때로 단위 테스트를 작성할 때 System 클래스 와 직접 상호 작용하는 코드를 테스트해야 할 수도 있습니다 . 일반적으로 System.exit를 직접 호출 하거나 System.in을 사용하여 인수를 읽는 명령줄 도구와 같은 응용 프로그램에서 . 이 예제 에서는 System 클래스 를 사용하는 코드를 테스트하기 위한 JUnit 규칙 세트를 제공하는 System Rules 라는 깔끔한 외부 라이브러리의 가장 일반적인 기능을 살펴보겠습니다 . 2. 메이븐 의존성 먼저 pom.xml에 시스템 규칙 의존성 을 추가해 보겠습니다 . com.github.stefanbirkner system-rules 1.19.0 Maven Central 에서도 사용할 수 있는 System Lambda 의존성을 추가 할..

Spring 2021.09.07

@Async를 사용한 스프링 Security 컨텍스트 전파

1. 소개 이 예제에서는 @Async 를 사용하여 Spring Security principal 의 전파에 초점을 맞출 것 입니다. 기본적으로 Spring Security 인증은 ThreadLocal에 바인딩됩니다. 따라서 실행 흐름이 @Async를 사용하여 새 스레드에서 실행될 때 인증된 컨텍스트가 되지 않습니다. 이는 이상적이지 않습니다. 수정하겠습니다. 2. 메이븐 의존성 Spring Security에서 비동기 통합을 사용하려면 pom.xml 의 의존성 에 다음 섹션을 포함해야 합니다 . org.springframework.security spring-security-config 5.2.3.RELEASE 최신 버전의 Spring Security 의존성은 여기 에서 찾을 수 있습니다 . 3. @Asy..

Spring 2021.09.06

Java의 NoSuchFieldError

1. 개요 이 기사에서는 NoSuchFieldError 의 원인을 보여주고 해결 방법을 알아보겠습니다. 2. NoSuchField 오류 이름에서 알 수 있듯이 NoSuchFieldError 는 지정된 필드가 없을 때 발생합니다. NoSuchFieldError 는 IncompatibleClassChangeError 클래스를 확장하고 응용 프로그램이 개체의 필드 또는 클래스의 정적 필드에 액세스하거나 수정하려고 시도하지만 개체 또는 클래스에 더 이상 해당 필드가 없을 때 throw 됩니다 . IncompatibleClassChangeError 클래스는 LinkageError 클래스를 확장하고 호환되지 않는 클래스 정의 변경을 수행할 때 발생합니다. 마지막으로 LinkageError 는 Error를 확장 하고..

Spring 2021.09.06

Spring MVC를 사용한 사용자 정의 오류 페이지

1. 개요 모든 웹 애플리케이션의 공통 요구 사항은 사용자 정의된 오류 페이지입니다. 예를 들어 Tomcat 위에서 바닐라 Spring MVC 앱을 실행하고 있다고 가정합니다. 사용자가 브라우저에 잘못된 URL을 입력하면 사용자에게 그다지 친숙하지 않은 파란색 및 흰색 스택 추적이 표시됩니다. 이는 이상적이지 않습니다. 이 사용방법(예제)에서는 몇 가지 HTTP 오류 코드에 대해 사용자 지정 오류 페이지를 설정합니다. 작업 가정은 독자가 Spring MVC로 작업하는 데 상당히 익숙하다는 것입니다. 그렇지 않은 경우 시작하는 좋은 방법 입니다. 이 기사는 Spring MVC에 초점을 맞춥니다. Whitelabel 오류 페이지 사용자 정의 기사에서는 Spring Boot에서 사용자 정의 오류 페이지를 생성..

Spring 2021.09.06

Spring으로 Hibernate 5 부트스트래핑하기

1. 개요 이 기사에서는 Java 및 XML 구성을 모두 사용하여 Spring과 함께 Hibernate 5 를 부트스트랩 하는 방법에 대해 논의할 것 입니다. 이 기사는 Spring MVC에 초점을 맞춥니다. 우리 기사 Spring Boot with Hibernate 는 Spring Boot에서 Hibernate 를 사용하는 방법을 설명합니다. 2. 스프링 통합 기본 Hibernate API를 사용하여 SessionFactory 를 부트스트랩하는 것은 약간 복잡하고 몇 줄의 코드가 필요합니다(정말 필요한 경우 공식 문서 를 참조하십시오). 다행히, Spring 지원은 부트 스트랩 SessionFactory를 - 우리는 자바 코드 또는 XML 구성의 몇 줄 필요가 그래서. 3. 메이븐 의존성 먼저 pom...

Spring 2021.09.06

Spring REST 서비스를 위한 HATEOAS

1. 개요 이 기사는 Spring REST 서비스에서 발견 가능성 의 구현 과 HATEOAS 제약 조건 충족에 초점을 맞출 것 입니다. 이 기사는 Spring MVC에 초점을 맞춥니다. 우리의 기사 An Intro to Spring HATEOAS는 Spring Boot에서 HATEOAS를 사용하는 방법을 설명합니다. 2. 이벤트를 통한 발견 가능성 분리 웹 계층의 별도 측면 또는 관심사로서의 검색 가능성 은 HTTP 요청을 처리하는 컨트롤러와 분리되어야 합니다 . 이를 위해 컨트롤러는 응답을 추가로 조작해야 하는 모든 작업에 대해 이벤트를 발생시킵니다. 먼저 이벤트를 생성해 보겠습니다. public class SingleResourceRetrieved extends ApplicationEvent { pr..

Spring 2021.09.06

카프카와 스프링 부트 테스트

1. 개요 Apache Kafka 는 강력하고 분산된 내결함성 스트림 처리 시스템입니다. 이전 예제에서 우리는 Spring과 Kafka로 작업하는 방법을 배웠습니다 . 이 사용방법(예제)에서는 이전 버전을 기반으로 하고 실행 중인 외부 Kafka 서버에 의존하지 않는 안정적이고 독립적인 통합 테스트를 작성하는 방법을 배웁니다 . 먼저 시작하지만 Kafka의 포함된 인스턴스를 사용하고 구성하는 방법을 살펴보겠습니다. 그런 다음 테스트에서 인기 있는 프레임워크인 Testcontainers 를 사용하는 방법을 살펴보겠습니다 . 2. 의존성 물론 pom.xml에 표준 spring-kafka 의존성 을 추가해야 합니다 . org.springframework.kafka spring-kafka 2.7.2 그런 다음 ..

Spring 2021.09.05

JMeter 테스트를 실행하고 표시하도록 Jenkins 구성

1. 개요 이 기사에서는 Jenkins 와 Apache JMeter를 사용하여 지속적 전달 파이프라인을 구성할 것 입니다. 우리는에 의존하고 있습니다 하여 JMeter 이미 우리가 실행할 수있는 몇 가지 구성 성능 테스트를 가지고 첫째, JMeter를의 기초를 이해하는 좋은 출발점으로 기사. 그리고 해당 프로젝트의 빌드 출력을 사용하여 Jenkins Performance 플러그인 에서 생성된 보고서를 확인합니다 . 2. 젠킨스 설정 우선 안정적인 최신 버전의 Jenkins 를 다운로드 하고 파일이 있는 폴더로 이동한 다음 java -jar jenkins.war 명령을 사용하여 실행해야 합니다 . 초기 사용자 설정 없이는 Jenkins를 사용할 수 없습니다. 3. 성능 플러그인 설치 JMeter 테스트를 ..

Spring 2021.09.05
반응형