본문 바로가기

SpringFramework

(6)
스프링 웹플럭스 인증 with JWT + RBAC 스프링 웹플럭스와 JWT를 이용하여 무상태(stateless) 인증과 RBAC 개념을 적용한 예제를 만들어 보았다. 소스 대부분의 인터넷의 예제를 참고 하였으며 동작에 대한 기술은 웹사이트나 소스를 직접 보고 확인해 보았다. DB나 JPA 설정등은 생략한다. 스프링 부트 자체가 워낙 자동설정으로 되어 있다보니 내부적으로 어떻게 동작하는지 파악하기가 쉽지 않았다는... 핑계고, 스프링의 애노테이션이 어떻게 동작하는지에 대한 기본 지식들이 아직도 부족해서다. 기본사용은 쉬우나 목적에 맞게 설정하기 위해서는 프레임워크의 동작을 어느정도 잘 이해해야 한다. 돌아서면 잊어먹는 나이가 되었기에 나중에라도 잘 활용하기 위핸 파악한 내용들을 최대한 정리해 본다. 내용정리를 잘해보려고 하였으나 시간이 너무 걸려 의식에 ..
스프링 WebClient 동시에 호출하기 참고자료: https://www.baeldung.com/spring-webclient-simultaneous-calls 1. 개요 우리는 보통 애플리케이션에서 HTTP 요청을 할 때 순차적으로 한다. 하지만 이 요청들을 동시에 호출하고 싶은 경우도 많을 것이다. 예를들어 여러 데이터 공급자들로부터 데이터를 가져오거나 애플리케이션의 성능을 올리고 싶을 때 동시에 호출하고 싶을 것이다. 여기서는 spring reactive WebClient 를 사용해서 서비스를 병렬로 호출하는 방법들에 대해 다룬다. 2. 리액티브 프로그래밍에 대하여 간단히 알아보기 WebClient 는 Spring 5 에서 도입되었으며 Spring Web Reactive 모듈에 포함되어 있다. WebClient 는 HTTP 요청을 리액티브..
@Bean import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.support.AbstractApplicationContext; public class SpringAnnotationTest { @Test public void configTest() { AbstractApplicationContext ac = new An..
@Resource, @Autowired 사용시기 이름을 이용해 빈을 지정하고 싶다면 @Resource를 사용하고, 타입과 한정자를 활용하고 싶을 때만 @Autowired를 사용하는 것이 바람직하다. 혼합해서 사용할 경우 코드를 읽을 때 혼란을 줄 수 있기 때문이다. - 토비의 스프링3, 845P
스프링에 대한 대표적인 오해중의 하나 나도 오해했던 부분이다.. "스프링의 설정 메타 정보는 XML 파일이 아니다. 스프링에 대한 대표적인 오해 중의 하나는 스프링의 설정정보는 XML로 되어 있다는 것이다. 스프링이 XML에 담긴 내용을 읽어서 설정 메타정보로 활용하는 건 사실이지만, 그렇다고 해서 스프링이 XML로 된 설정 메타정보를 가졌다는 말은 틀렸다. 스프링의 설정 메타정보는 BeanDefinition 인터페이스로 표현되는 순수한 추상 정보다." - 토비의 스프링3, 772p
<property> 요소 사용방법 ref 속성 사용시: value 속성 사용시: value 속성 사용시에는 스프링컨테이너가 값을 주입할 때 알아서 타입을 변환 시켜서 주입한다. 위의 예제 경우에 스프링컨테이너는 값을 String, int, 클래스 오브젝트 타입 으로 변형시켜서 주입하게 된다. 참조: 토비스프링 3, 826p