dev/스프링 (46) 썸네일형 리스트형 Spring Boot Redis 연계 스프링 부트에서 Redis에 데이터를 저장하고 조회하는 방법입니다. Redis에서 지원하는 데이터 구조 String, List, Hash를 사용할 것입니다. 스프링 부트와 Redis를 연계하기 위해 spring-boot-starter-data-redis 라이브러리를 추가합니다. RedisConfig 클래스는 Redis와의 연결과 데이터 직렬화를 설정하는 역할을 맡고 있습니다. application.yml에 있는 Redis host와 port를 속성으로 받습니다.(16 ~ 20라인) RedisStandaloneConfiguration 클래스를 통해 Redis 연결 설정을 구성하고 LettuceConnectionFactory 클래스를 통해 실제 Redis에 연결하는 빈을 등록합니다.(22 ~ 29라인) Re.. Spring Boot Redis Suscriber WebSocket Redis 채널로부터 수신한 메시지를 Sprinb Boot에서 웹 소켓으로 표출하는 방법입니다. https://tiqndjd12.tistory.com/260 Spring Boot Redis Subscriber 저번에 작성한 Spring Boot Redis Publisher에 이어 Subscriber 구현하는 방법입니다. spring-boot-starter-data-redis 라이브러리를 추가합니다. Redis 채널로부터 메시지를 수신하는 설정 클래스입니다. application.yml tiqndjd12.tistory.com https://tiqndjd12.tistory.com/197 Spring Boot WebSocket 웹 소켓은 웹 브라우저와 서버 사이에 양방향으로 데이터를 전송해 주는 통신 기술입니.. Spring Boot Redis Subscriber 저번에 작성한 Spring Boot Redis Publisher에 이어 Subscriber 구현하는 방법입니다. spring-boot-starter-data-redis 라이브러리를 추가합니다. Redis 채널로부터 메시지를 수신하는 설정 클래스입니다. application.yml에 있는 Redis 메시지 채널명을 속성으로 받습니다.(18 ~ 19라인) Redis 메시지 수신 담당하는 redisSubscriberService 빈을 주입받습니다.(21 ~ 22라인) Redis 메시지 수신하는 컨테이너를 빈으로 등록합니다.(24 ~ 32라인) redisConnectionFactory를 통해 Redis에 연결하고, messageListenerAdapter를 통해 실제 메시지를 수신하는 리스너를 등록합니다. Re.. Spring Boot Redis Publisher 스프링 부트로 Redis Publisher 간단하게 구현하는 방법입니다. 스프링 부트와 Redis를 연계하기 위해 spring-boot-starter-data-redis 라이브러리를 추가합니다. 클라이언트로부터 채널명과 메시지를 받는 컨트롤러를 생성합니다. 채널명과 메시지를 Post 방식으로 받는 publish 메소드를 작성합니다.(21 ~ 33라인) 채널명과 메시지가 HttpBody로 전달되는 것을 자바 객체로 변환하기 위해 @RequestBody와 도메인 객체(RedisDomain 클래스)를 사용합니다.(22라인) Redis에 메시지를 발행하는 서비스의 메소드를 호출합니다.(26라인) Redis 데이터 연산처리를 하는 RedisTemplate를 주입받아 생성합니다.(14 ~ 17라인) 컨트롤러에서 전.. Spring Boot Session Store Type Redis 스프링 부트에서 세션을 redis에 저장하는 방법입니다. 저번에 세션 클러스터링 하는 방법으로 JDBC로 DB에 저장하는 글을 올렸는데 JDBC를 사용하는 것은 디스크 IO를 사용하기 때문에 성능면에서 부족한 점이 있습니다. https://tiqndjd12.tistory.com/253 Spring Boot Session Store Type JDBC 스프링 부트에서 세션은 주로 메모리에 저장합니다. 하지만 이렇게 했을 때 어플리케이션을 재부팅하면 세션이 초기화되는 단점이 있습니다. 이런 문제점을 해결하려면 어플리케이션 간의 세 tiqndjd12.tistory.com 이전에 작성한 스프링 부트 세션 JDBC에 이어서 하겠습니다. pom.xml에서 기존 spring-session-jdbc는 주석처리하고 spr.. Spring Boot yml 외부 참조 스프링 부트 설정은 application.yml 파일로 하는데 application.yml 파일을 환경별로 두면 중복되는 부분이 발생하거나 환경별로 따로 참조해야 하는 경우가 발생합니다. 위의 application.yml 파일들을 보면 환경별 DB 접속 정보와 로그 파일 위치가 다르지만 암호화를 담당하는 Jasypt 빈은 중복되는 것을 알 수 있습니다. encyrpt.yml을 생성하여 중복되는 Jasypt 빈을 따로 관리합니다. 각 환경별 application.yml에서 spring.config.import 속성을 사용하여 encrypt.yml 파일을 참조하면 중복되는 Jasypt 빈을 스프링 환경에 적용할 수 있습니다. spring.config.import 속성은 외부에 있는 파일 정보를 참조하는 역할.. Spring Boot Session Store Type JDBC 스프링 부트에서 세션은 주로 메모리에 저장합니다. 하지만 이렇게 했을 때 어플리케이션을 재부팅하면 세션이 초기화되는 단점이 있습니다. 이런 문제점을 해결하려면 어플리케이션 간의 세션을 클러스터링 하거나 RDB 또는 메모리 DB에 저장하는 방법이 있습니다. 그중에서 RDB에 저장하는 방법을 포스팅하겠습니다. 앞에서 작성한 OAuth 프로젝트에 이어서 spring-session-jdbc 라이브러리를 추가합니다. https://tiqndjd12.tistory.com/252 Spring Boot OAuth2 로그인 스프링 부트에서 OAuth를 사용하여 소셜 로그인 기능 구현하는 방법입니다. OAuth를 지원하는 서비스가 많은데 그중에서 네이버 로그인을 사용하겠습니다. 먼저 네이버 로그인 서비스가 등록되어 tiq.. Spring Boot OAuth2 로그인 스프링 부트에서 OAuth를 사용하여 소셜 로그인 기능 구현하는 방법입니다. OAuth를 지원하는 서비스가 많은데 그중에서 네이버 로그인을 사용하겠습니다. 먼저 네이버 로그인 서비스가 등록되어 있어야 합니다. 등록이 끝나면 Client ID와 Client Secret가 생성되는데 이 키값들을 사용해 네이버 로그인 서비스를 통해 인증합니다. pom.xml에 OAuth 라이브러리를 추가합니다. application.properties 파일의 1번째 라인을 보게 되면 스프링 프로필 환경 설정을 통해 다른 추가적인 설정을 할 수 있습니다. 지금 oauth로 되어있는데 이는 applicatoin-oauth.properties 파일에 있는 설정값들을 스프링 환경에 적용할 수 있습니다. application-oaut.. 이전 1 2 3 4 5 6 다음 목록 더보기