Spring(18)
-
@RequestParam과 @PathVariable 차이
이전 포스팅에 웹 계층 개발 부분을 정리하면서 '@RequestParam과 @PathVariable 차이'를 중간에 삽입해서 적었던 기억이 있습니다. 하지만 토이 프로젝트를 할 때나 다른 사람들의 코드를 볼 때 자주 헷갈리는 개념이므로 따로 빼서 포스팅하게 되었습니다. Spring에서 @RequestParam과 @PathVariable차이 Controller 단에서 위 두 어노테이션은 uri를 통해 전달된 값을 파라미터로 받아오는 역할을 합니다. 쓰임과 차이점에 중점을 두면서 정리해보겠습니다. http://localhost:8000/board?page=1&listSize=20 ← @RequestParam방식 http://localhost:8000/board/1 ← @PathVariable방식 @Reque..
2022.11.07 -
스프링IoC 컨테이너 (Feat. 빈(Bean), 빈 스코프(Bean Scope))
스프링 IoC컨테이너의 IoC는 Inversion of Control으로 의존 관계 주입(Dependency Injection, DI)라고 하며 어떤 객체(예제에서는 StudioService)가 사용하는 의존 객체(StudioRepository)를 직접 만들어 사용하는 게 아니라 주입받아 사용하는 방법을 말합니다. @Service @RequiredArgsConstructor public class StudioService { private final StudioRepository studioRepository; ... } 이 한 줄을 읽으면서 혹시 이해가 안 가는 부분이 있으셨나요? 바로 저... 어떤 부분 때문에 이해가 안 가셨나요? 저의 경우는 각각의 개념에 대한 이해뿐만 아니라 개념들이 서로 어떻게..
2022.10.24 -
Spring, Spring boot란? (컨테이너, DI, IoC)
이번 포스팅에서는 Spring과 Spring boot의 개념과 주요 특징(Ioc, DI)에 대해 간단히 알아보도록 하겠습니다. 1. Spring이란? 스프링은 자바 기반의 웹 애플리케이션을 만들 수 있는 프레임워크입니다. 2. Spring 특징 Spring은 자바 객체와 라이브러리들을 관리해주며, 톰캣과 같은 WAS 가 내장되어 있어 자바 웹 애플리케이션을 구동할 수 있습니다. Spring은 경량 컨테이너로 자바 객체를 직접 Spring 안에서 관리합니다. 객체의 생성 및 소멸과 같은 생명 주기(Life cycle)를 관리하며, Spring 컨테이너에서 필요한 객체를 가져와 사용합니다. Spring의 가장 큰 특징으로 DI와 IoC가 있습니다. 2-1. 의존성 주입 (DI, Dependency Injec..
2022.09.02 -
[타임리프] 자주 사용하는 기능 정리
프로젝트 생성 타임리프 소개 공식 사이트: https://www.thymeleaf.org/ 공식 메뉴얼 - 기본 기능: https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html 공식 메뉴얼 - 스프링 통합: https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html 타임리프 특징 1. 서버 사이드 HTML 렌더링 (SSR) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용됩니다. 백엔드 개발자의 경우 (화려한 프론트엔드 기술을 적용할 필요 없이) 빠르게 데이터를 확인 해야할 일이 생깁니다. 이때 간단한 어드민 페이지 정도 만들어서 확인해 볼 수 있는데요, 이를 위해서라도..
2022.08.17 -
Spring Boot, Spring Security를 이용한 JWT 인증·인가 구현 (1/2)
이번 포스팅에서는 Spring Boot + JWT + Security 를 사용해서 회원가입/로그인 로직을 구현해보겠습니다. 인프런에 있는 Spring Boot JWT Tutorial 강의에서 코드를 참고했으며 그 중 저에게 필요한 부분을 정리하려 합니다. 프로젝트를 바로 진행하기 전에 용어의 개념부터 살펴보겠습니다. JWT 인증과 인가 1. JWT ( JSON Web Token ) 소개 JWT 정의 JWT는 웹표준(RFC7519)으로 지정되어 있고 Json 객체를 사용해서 Token 자체에 정보들을 저장하고 있는 Web Token이며 토큰 기반의 인증 시스템에서 가장 널리 사용되는 인증 방식입니다. JWT 구조 JWT는 Header, Payload, Signature 세 부분으로 구성되어 있습니다. He..
2022.08.01 -
[Spring Security] JWT(Json Web Token)란?
웹서비스에서는 토큰을 사용하여 사용자들의 인증 작업을 처리하는 것이 가장 좋은 방법입니다. 이번 포스팅에서는 토큰 기반의 인증 시스템에서 주로 사용하는 JWT(Json Web Token)에 대해 알아보도록 하겠습니다. JWT(JSON Web Token)란? JWT란 JSON 포맷을 이용해 사용자에 대한 속성을 저장하는 Claim 기반의 웹 토큰입니다. 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달합니다. 애플리케이션이 실행될 때, JWT를 static 변수와 로컬 스토리지에 저장하게 됩니다. static 변수에 저장되는 이유는 HTTP 통신을 할 때마다 JWT를 HTTP 헤더에 담아서 보내야 하는데, 이를 로컬 스토리지에서 계속 불러오면 오버헤드가 발생하기 때문입니..
2022.07.27