spring boot 4

Controller, Service, Repository 계층 간의 DTO

Velog에서도 포스팅 중입니다:) Springboot) Controller, Service, Repository 계층 간의 DTO DTO란, Data Transfer Objet로 데이터 전송 객체이다. 보통 개발시에 계층간에 도메인 전부가 아닌, 필요한 데이터만 모아서 Transfer의 역할을 하는 객체이다.이유를 설명하기에 앞서, DTO를 사용하지 않 velog.io DTO DTO란, Data Transfer Objet로 데이터 전송 객체이다. 보통 개발시에 계층간에 도메인 전부가 아닌, 필요한 데이터만 모아서 Transfer의 역할을 하는 객체이다. DTO를 사용하는게 좋은 이유 이유를 설명하기에 앞서, DTO를 사용하지 않는 경우와 사용하는 경우를 비교해보자. DTO 사용 X Service 계층에..

Design Pattern/OOP 2023.04.02

application.yml을 개발 환경마다 다르게 사용하기

Velog에서도 포스팅 중입니다:) Springboot) application.yml 환경마다 다르게 사용하기 개발을 하다보면 개발 옵션을 적용할 수 있는 applicaion.yml을 사용하게 되는데, 배포 환경에 따라 다르게 적용할 필요를 느낄 때가 있다. Develop 환경 / Release 환경 / Test 환경 등에서는 DB, server port velog.io 여러 개의 applicaion.yml 개발을 하다보면 개발 옵션을 적용할 수 있는 applicaion.yml을 사용하게 되는데, 배포 환경에 따라 다르게 적용할 필요를 느낄 때가 있다. Develop 환경 / Release 환경 / Test 환경 등에서는 DB, server port 등이 다르게 쓰이는 경우에 Build시에 매번 appl..

Spring/Spring Boot 2023.04.02

Spring boot를 이용한, Session VS JWT

Velog에서도 포스팅 중입니다:) Session VS JWT Todoary 프로젝트에서는 로그인 및 상태유지를 위해 Spring Security + JWT를 사용했다.그런데 막상 우리가 왜 Session + Cookie를 사용하지 않고, JWT를 사용했는가에 대한 의문이 생겼다. !! DB를 session저장소 velog.io Todoary 프로젝트에서는 로그인 및 상태유지를 위해 Spring Security + JWT를 사용했다. 그런데 막상 우리가 왜 Session + Cookie를 사용하지 않고, JWT를 사용했는가에 대한 의문이 생겼다. Session VS JWT 우리가 Session 대신 JWT를 이용한 이유는 서버에서 Session에 대한 정보를 통제할 필요가 없다. 다중 서버를 운영할 시에..

Spring/Spring Boot 2023.04.02

Spring Security + JWT로 구글 로그인 구현하기

Velog에서도 포스팅 중입니다:) Springboot 구글 OAuth2 로그인 + JWT JWT velog.io 이번에 앱 런칭(Todoary)을 준비하며 보안을 위해 Spring Security를 사용해 보았다. 개발은 Rest API 서버 개발이다. 요구사항은 일반 로그인 -> 자동 로그인 선택 가능 소셜 로그인 (구글 , 애플) -> 자동 로그인 매 요청마다 JWT (Access Token, Refresh Token) 를 이용한 인증 JWT는 DB에 저장되는 유저의 id를 이용한다. Access Token은 2시간, Refresh Token은 90일의 생명주기를 같는다. Refresh Token은 DB에 저장한다. 이다. Spring Security란? Spring의 하위 프레임워크로, Sprin..