반응형

SpringBoot 7

[Spring-boot] Spring cache란? 사용방법 및 기본

최근 면접에서 알게된 Spring Cache에 대해 알아보려고한다. 기존 Cache라고 하면 Redis와 같은 Inmemory DB를 사용해서 캐싱해두고 (이를 글로벌캐시라고 한다.) 데이터를 빠르게 가져다 쓰는것만 알고있었는데, 각 모듈(서버)별 동기화가 필요없거나 해당 모듈에서만 사용하기엔 (로컬캐시 형태) Spring Cache가 적합하다고 느껴졌다. 캐시는 반복적으로 동일한 데이터를 사용할떄 유용하게 사용된다. 예를들어 한번 조회했던 결과를 캐싱해놓고 다음번엔 굳이 조회를 통하지않고 캐싱되어있는 데이터만 사용하면 효율적인것...! Spring 캐시(Cache)의 추상화 캐시 서비스는 트랜잭션 처럼 AOP를 이용해 메소드 실행 과정에 적용될수 있다. 간단하게 보면 Aop를 사용해서 캐싱시켜놓고 메인..

[SpringBoot] Spring Batch 개념과 간단 예제 -1

오늘은 정리를 해놓지 않은 Spring Batch에 대해 기록해 두려고 한다. Scheduler와 함께 일련의 작업을 정해진 로직을 수행하기 위해 많이 사용하며, 대용량 데이터를 핸들링할때 주로 사용된다. 스프링 배치가 제공할 수 있는 상황들을 한번 알아보자. 로깅/추적 트랜잭션 관리 작업의 처리와 통계관리 작업의 실패 후 수동 or 예약 된 재시작 등등 고급스러운 작업을 도와주는 아이이다. 가장 좋은 기능이라고 생각되는것은 작업진행중에 일부 작업이 실패했을때 그 실패 시점을 기록해놓고 다음 재시작을 했을때 실패한 시점부터 다시 실행할 수 있는점..! 그렇다면 배치에 대해 간단한 용어부터 알아보도록 하자 [ 1. Job ] Job : 배치처리 과정 객체. 배치 프로세스 상에서 전체 계층 최상단이다. Jo..

[SpringBoot] DI 주입하는 방법 + 롬복 이용

우리는 Spring의 강력한 기능 DI를 기본적으로 사용하고있다. 간단하게 DI를 하는 방법 몇가지를 적어놓으려고한다. 1). 필드 주입 가장 간단하게 많이 사용하는 방식이다. 하지만 해당 방법으로는 TestRepository에 Access할 방법이 없다. public class TestService{ @Autowired private TestRepository testRepository; } 2). Setter 주입 Test 코드 작성할때 사용하기가 편하다는 장점이있다. 하지만 다른곳에서 해당 Repository를 바꿔버릴수가 있다. 굳이 바꿀 일이없으니 사용하지 않는다. public class TestService{ private TestRepository testRepository; @Autowir..

[SpringBoot] Spring boot에서 간단한 Redis 설정 및 사용 예제

필자는 SpringBoot를 독학하면서, 알고있던 지식들로 간간히 검색하며 시간날때마다 사이드 프로젝트를 만들고있다. Spring boot와 Spring data Jpa를 알고싶어서 만들기 시작했는데, 기존에 사용했던 SpringFramework와는 설정 부분이 달라 애를 먹는 점이 종종있다. 오늘은 Redis 설정을 한뒤, Interceptor에서 Redis를 사용해 보려고한다. 간단하게 캐시설정은 잡지 않고 Redis를 사용할 수 있을정도만 세팅해보았다. 다음번에 Redis 설정부분을 제대로 작성하겠다. 1). build.gradle Redis를 사용하기 위해 Dependency를 등록해준다. implementation 'org.springframework.boot:spring-boot-starter..

[SpringBoot] Filter 설정 및 개념

Spring에서 사용하다가 SpringBoot로 넘어가면서 기존에 정리해놓지 않았던 내용들을 적어놓으려고 한다. 필터란? Servlet의 ServletContext의 기능으로 보고, 사용자에 의해 서블릿이 호출 되기 전과 후로 사용자 요청/응답의 헤더 정보등을 검사 하고, 설정할 수 있다. 필터와 인터셉터의 차이점 필터의 작동 위치? : DispatcherServlet 앞에서 먼저 동작 인터셉터의 작동 위치 ? : 인터셉터는 DispatcherServlet에서 Controllr(Handler) 사이에서 동작 필터 Servlet Context의 기능 스프링 기능을 활용하기에 어려움 => 별도로 의존성을 주입해주어야 된다. 일반적으로 인코딩, CORS, XSS, LOG, 인증, 권한 등 을 구현 인터셉터 S..

[SpringBoot] Spring Boot 개념 및 시작하기-1

SpringBoot란? 스프링 프레임워크 프로젝트를 간편하게 설정하여 사용할 수 있게 하는 아이 Spring Boot makes it easy to create stand-alone. Most Spring Boot applications need very little Spring configuration. 웹 컨테이너를 내장하고 있어 최소한의 설정으로 쉽게 웹 어플리케이션을 만들 수 있다. SpringBoot 사용 이유 및 장점 ※ SpringFramework와 비교해보자. SpringFramework는 XML 설정파일 작성 등 설정하는 방법이 어렵지만 , SpringBoot는 반복되는 개발환경 구축을 위한 노력을 줄이고, 쉽고 빠르게 프로젝트를 설정할 수 있다. 프로젝트 환경 구축에서의 비기능적인 기능..

반응형