Home SpringBoot

SpringBoot

Spring Rest api + Angular framework로 웹사이트 만들기(2) – 로그인/가입(HttpClient, Proxy, Validation)

이번 장에서는 가입과 로그인 기능을 추가하여 Rest API와 연동하는 방법을 실습하겠습니다. 이번 실습 부터는 리소스를 제공할 rest api가 필요하므로 아래 내용을 참고하여 서버를 띄우고...

SpringBoot2로 Rest api 만들기(15) – Redis로 api 결과 캐싱(Caching)처리

이번 장에서는 지금까지 개발한 api에 캐시를 적용해 보도록 하겠습니다. 캐시란 자주 사용되는 데이터를 메모리에 저장하고 반환하여 하드디스크의 원본데이터를 거치지 않게 함으로서 리소스 READ시 효율을...

SpringBoot2로 Rest api 만들기(14) – 간단한 JPA 게시판(board) 만들기

이번 장에서는 지금까지 구축한 SpringBoot + Security 환경에 간단한 JPA 게시판을 추가해 보도록 하겠습니다. 관계 다이어그램은 다음과 같습니다. 하나의 게시판에는 여러 개의 게시물이 작성될 수 있으므로 BOARD와 POST는 1:N의 관계를 같습니다. 회원은 여러 개의 게시물을 작성할 수 있으므로 USER와 POST 역시 1:N의 관계를 같습니다.  Entity 작성 Entity 공통으로 필요한 날짜정보를 담는 CommonDateEntity를 생성하여 Board, Post, User Entity가 상속 받도록 처리합니다. @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class CommonDateEntity { //...

SpringBoot2로 Rest api 만들기(12) – Deploy & Nginx 연동 & 무중단 배포 하기

이번 장에서는 SpringBoot 프로젝트를 실제 AWS EC2 서버에 배포하고 Nginx와 연동하여 서버를 실행해 보는 실습을 하겠습니다. 이번 실습에서는 AWS에 EC2서버를 ssh로 접속할 준비가 되어있거나...

SpringBoot2로 Rest api 만들기(11) – profile을 이용한 환경별 설정 분리

이번장에서는 기존에 단일 파일로 관리되던 스프링 설정을 서버 환경에 따라 다르게 적용되도록 개선해보겠습니다. 환경별 application.yml의 분리 /resources 아래에 application.yml을 복사하여 application-alpha.yml, application-local.yml 두개를 더 만듭니다. 개발...

Intellij에서 Github의 Spring Gradle Project import 하기

Intellij에서 Github의 Spring Project를 로컬로 Clone 하여 프로젝트를 구성하는 방법에 대해 알아보겠습니다. 참고로 Gradle로 구성된 SpringBoot 기준입니다. Github 프로젝트 주소 복사 Github로 이동하여 clone or...

Spring initializr로 Spring 프로젝트 생성하기

이번 실습에서는 Spring initializr를 이용하여 스프링 프로젝트를 생성해 보겠습니다. 스프링 프로젝트는 초기 생성시 설정이 간소화 되었다고 해도 초심자가 구성하기에는 어려움이 있는것이 사실입니다. 그런 사실을 인지해서인지...

SpringBoot2로 Rest api 만들기(10) – Social Login kakao

이번 장에서는 Rest api에 카카오 로그인 연동을 해보겠습니다. 카카오의 로그인은 Oauth2 방식을 따르고 있습니다. Oauth2에 대한 자세한 플로우는 다음 링크를 참고하시기 바랍니다. https://d2.naver.com/helloworld/24942Facebook...

SpringBoot2로 Rest api 만들기(9) – Spring Starter Unit Test

이번 시간에는 지금까지 만든 api를 Unit Test 하여 검증해보는 시간을 갖겠습니다. 현재 개발한 api는 별다른 로직이 없어 Unit Test가 공수 대비 효용성이 없어 보입니다. 하지만...

SpringBoot2로 Rest api 만들기(8) – SpringSecurity 를 이용한 인증 및 권한부여

이번 시간에는 SpringSecurity를 이용하여 api 서버의 사용 권한을 제한하는 방법에 대해 알아보도록 하겠습니다. 지금까지 개발한 api는 권한 부여 기능이 없어 누구나 회원 정보를 조회,...

SpringBoot2로 Rest api 만들기(7) – MessageSource를 이용한 Exception 처리

이번 시간에는 Spring에서 메시지를 처리하는 방법에 대해 알아보고, MessageSource를 이용하여 Exception Message를 고도화해 보도록 하겠습니다. Spring에서는 다국어를 처리하기 위해 i18n 세팅을 지원하고 있습니다. i18n이 무엇인가...

SpringBoot2로 Rest api 만들기(6) – ControllerAdvice를 이용한 Exception처리

이번 장에서는 api 처리 중 특정한 Exception이 발생할 경우 공통으로 처리하는 방법에 대해 알아보겠습니다. Spring에서는 이와같은 처리를 위해 ControllerAdvice annotation을 제공하고 있으며 이...

Most Read

AuroraDB Migration – Using Kafka as a target for Database Migration Service

AuroraDB(mysql)의 binary log(binlog)를 이용하면 database의 변경사항을 다른 시스템으로 쉽게 이관할 수 있습니다. binlog란 mysql에서 제공하는 데이터의 변경 event를 저장하는 로그 파일을 의미합니다. 데이터에 대한...

AWS App Mesh

AWS App Mesh AWS App Mesh는 애플리케이션 수준의 네트워킹을 통해 서비스가 여러 유형의 컴퓨팅 인프라에서 서로 원활하게 통신할 수 있게 지원하는 서비스입니다. App Mesh는 서비스의...

Istio Service Mesh

Istio Istio는 서비스 메시 분야에서 오랫동안 주요 역할을 해온 Opensource Solution으로서 기존 분산 애플리케이션 계층에 투명성을 제공하는 완전한 오픈 소스 서비스 메시입니다. Istio를 사용하면 서비스에...

서비스 메시(Service Mesh)

서비스 메시(Service Mesh)란? 서비스 메시는 서비스 간의 통신을 제어하고 표시하고 관리할 수 있도록 하는 데 특화된 마이크로 서비스를 위한 인프라 계층입니다. 기존의 서비스 아키텍처에서의 호출이...