Spring/etc
-
보통의 경우에는 애플리케이션에서 하나의 DB에만 조회를 한다. 하지만 DB 부하를 분산하기 위해서 조회는 Slave에서만 한다던가, 샤딩된 DB를 사용하기도 한다. 이러한 경우에 어떻게 MultiDataSource를 조회할 수 있도록 Spring에서 설정할 수 있는지 알아보자. DataSource 정보 application.yml을 이용하여 DB url 및 user 정보 관리multi-datasource: kakao: url: jdbc:h2:tcp://localhost/~/testcase username: sa passwd: naver: url: jdbc:h2:tcp://localhost/~/test username: sa passwd: 위의 설정 정보를 매핑할 Da..
[Spring] RoutingDataSource 이용 DB 요청 분산(MasterSlave, Sharding..)보통의 경우에는 애플리케이션에서 하나의 DB에만 조회를 한다. 하지만 DB 부하를 분산하기 위해서 조회는 Slave에서만 한다던가, 샤딩된 DB를 사용하기도 한다. 이러한 경우에 어떻게 MultiDataSource를 조회할 수 있도록 Spring에서 설정할 수 있는지 알아보자. DataSource 정보 application.yml을 이용하여 DB url 및 user 정보 관리multi-datasource: kakao: url: jdbc:h2:tcp://localhost/~/testcase username: sa passwd: naver: url: jdbc:h2:tcp://localhost/~/test username: sa passwd: 위의 설정 정보를 매핑할 Da..
2025.01.16 -
Spring을 통해 WebApplication을 작성할 때 Redis를 크게 두 가지 방향으로 쓸 수 있을 것 같다. @Cacheable, @CacheEvict 등의 애너테이션을 활용한 Cache 용도 RedisTemplate를 활용한 다양한 자료구조에 데이터 관리(CRUD)먼저 Cache로 사용하는 방법을 알아보자. 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' Spring에서 @Cacheable, @CacheEvict, @CachePut과 같은 애너테이션을 만들어 두었고 해당 애너테이션이 어떻게 동작할지는 자신이 원하는 Cache Framework의 구현체만 주입해 주면 된다. -> CacheManage..
[Spring] Cache Abstraction 사용 (Redis)Spring을 통해 WebApplication을 작성할 때 Redis를 크게 두 가지 방향으로 쓸 수 있을 것 같다. @Cacheable, @CacheEvict 등의 애너테이션을 활용한 Cache 용도 RedisTemplate를 활용한 다양한 자료구조에 데이터 관리(CRUD)먼저 Cache로 사용하는 방법을 알아보자. 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' Spring에서 @Cacheable, @CacheEvict, @CachePut과 같은 애너테이션을 만들어 두었고 해당 애너테이션이 어떻게 동작할지는 자신이 원하는 Cache Framework의 구현체만 주입해 주면 된다. -> CacheManage..
2024.11.18 -
HandlerMethodArgumentResolver 란HandlerMethodArgumentResolver는 Controller Method에서 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해 주는 인터페이스이다. Spring 공식 문서에는 아래와 같이 설명되어있다.Strategy interface for resolving method parameters into argument values in the context of a given request.주어진 요청으로부터, method의 parameter를 argument로 주입해 주는 전략 패턴의 interface Spring MVC를 작성할 때, Controller에 정의한 Method들에도 @PathVariable, @RequestPar..
[Spring] HandlerMethodArgumentResolver 사용HandlerMethodArgumentResolver 란HandlerMethodArgumentResolver는 Controller Method에서 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해 주는 인터페이스이다. Spring 공식 문서에는 아래와 같이 설명되어있다.Strategy interface for resolving method parameters into argument values in the context of a given request.주어진 요청으로부터, method의 parameter를 argument로 주입해 주는 전략 패턴의 interface Spring MVC를 작성할 때, Controller에 정의한 Method들에도 @PathVariable, @RequestPar..
2024.07.04 -
Spring Application에서 다른 API를 호출하기 위해서는 HTTP Client 호출이 필요하다. 다양한 library를 통해서 해당 기능을 사용할 수 있는데그중에 하나인 Spring WebClient에 대해서 알아보자. WebClientHTTP Request를 수행하는 Client<l..
[Spring] WebClientSpring Application에서 다른 API를 호출하기 위해서는 HTTP Client 호출이 필요하다. 다양한 library를 통해서 해당 기능을 사용할 수 있는데그중에 하나인 Spring WebClient에 대해서 알아보자. WebClientHTTP Request를 수행하는 Client<l..
2024.06.02