Tag: spring

Spring 외부 서비스 연동 테스트

외부 서비스 연동 만약 개발 서비스에서 외부 서비스와 연동하는 기능 개발이 필요한 경우, 외부 서비스와 엮여있는 비즈니스 로직에 대한 테스트하기가 쉽지 않을 때가 있다. 외부 서버, 컴포넌트 등 연동이 필요한 로직은 테스트 코드에서 대부분 Mocking 처리하여 단위 테스트를 작성하곤 하지만, 만약 RestClient,...

Self-Invocation 이슈

@Transactional 의 Self-Invocation 이슈? 처음 Self-Invocation 이슈를 맞이한 건, @Service 클래스 함수에서 같은 클래스의 @Transactional 가 붙은 다른 함수를 호출하였던 순간이었다. 하지만 Self-Invocation 이슈를 하다보니, 사실 @Transactional...

Spring Webflux Reactor - Mono

Mono Spring Webflux 의 Reactive Stream 를 구현하고 있는 Reactor 는 Mono 와 Flux 이다. 그 중 Mono 는 0 ~ 1 개의 데이터를 전달 하는 역할을 한다. Mono 인스턴스 생성 방식 Just .just() 는 구독하는 순간. 특정 값을 바로 반환 emit 하는 함수...

Spring Batch step.3 - Step

Step Spring Batch 에서 실질적으로 데이터를 처리하는 단계인 Step 에 대해서 알아보자. Step 의 데이터 처리 방식은 3단계로 나눠진다. ItemReader ItemProcessor ItemWriter 위와 같은 3개의 단계를 거쳐 데이터를 1. DB 또는 파일에서 읽고, 2. 가공/처리하...

Spring Batch step.2 - Job

Job Spring Batch 에서 상위 개념인 Job 의 설정은 무엇이 있는지 살펴보자. Configuring a Job Job 은 Step 을 가지고 있으며, 구현하기 위해서는 JobRepository 가 필요하다. 그리고 JobBuilderFactory 를 통해서 아래와 같은 설정을 할 수 있다. Restart...

Spring Batch step.1 - Overview

Batch application 의 필요성 Spring Batch 를 살펴보기 전에 “Batch application 은 왜 필요할까?” 를 당연 먼저 생각해볼 필요가 있다. Batch application 은 아래와 같은 조건의 상황을 개발할 때 효율적인 서비스라고 생각한다. 대용량 데이터 처리 : 1만건, 10만건...

Spring Webflux step.3 - Functional Endpoints

Functional Endpoints Webflux 의 API 를 구현함에 있어 2가지 방식이 있다. @Contoller 어노테이션을 사용하는 Annotated Contollers 방식 Router 를 활용한 Functional Endpoints 방식 Annotated Contollers 방식 은 WebMVC ...

Spring Webflux step.2 - Reactive Core

Spring Webflux step.1 Reactive Core Spring Webflux 에 대해서는 간략하게 정리를 해보았고, Webflux 에서는 Reactive Web Application 를 만들기 위해서는 Reactive Core 가 어떻게 구성되어있는지 살펴볼 필요가 있다. HttpHandler ...

Spring Webflux step.1 - Overview

Spring Webflux 에 대해서 Spring Framework5 에서 추가된 모듈로서, Reactive Programming 의 Server, Client Application 개발 API 라고 할 수 있다. Non-blocking 과 Reactive Stream 을 지원해주고 있기 때문에 비동기적인 프로그램 개발이 가...

Spring Unit Test

Dependency 추가 testImplementation 'org.springframework.security:spring-security-test' testImplementation 'org.springframework.boot:spring-boot-starter-test' JPA Test JPA Test 를 위하여 ...

Spring Security (feat. JWT)

Spring Security? Spring 기반의 웹 애플리케이션의 웹 보안 제어를 위한 프레임워크 인증 및 권한 부여를 통해 요청에 대한 Resource 제어 JWT (JSON Web Token) 최근 Spring F/W 활용한 웹 애플리케이션에서는 API 유효성 검증을 위한 방식으로, Token 인증 ...

Spring Annotation

Spring 설정 관련 @Configuration 해당 Class 를 Bean 구성 Class 로 Spring IOC Container 에 지정 @Bean 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean 등록할 때 사용 Bean? Spring IOC Container 가 관리하는 Java 객체. ...

Spring Boot + OAuth 2.0

OAuth 란? OAuth 는 사용자 인증 및 권한 부여을 위한 개방형 표준 프로토콜이다. 사용자의 정보가 있는 리소스 서버에서 제공하는 자원에 대한 접근 권한을 관리하고, 접근 인증을 해주는 기능을 수행한다. 사용자는 이용하고자 하는 서비스 시스템에 정보 제공하지 않고, 원하는 리소스 서버의 서비스를 통해 계정 정보를 ...

Spring Basic

IoC(Inversion of Control) 제어권 역전? 의존성을 직접 선언하는 것이 아닌, 어떤 방법을 통해 선언된 객체를 주입받아 사용하는 것 IoC Container ApplicationContext (BeanFactory) Container 내부에서 생성한 Bean 들만 관리 Bean 을 생성하고...