SpringBoot 6

[DC] Spring JPA에 대해 알아보자

JPA는 Spring Framework에서 핵심이라고 해도 과언이 아닐 만큼 중요한 기술입니다.바로 JPA를 알아보기 전에, 먼저 JPA를 이해하는데 도움이 되는 개념들을 정리해보겠습니다. 이미 익숙한 내용이라면 아래로 쭉 내려가셔도 괜찮습니다 😊 📚 관계형 데이터 베이스관계형 데이터베이스는 우리가 가장 널리 사용하는 데이터 저장 방식입니다.데이터를 테이블 형식으로 저장하고, 테이블 간의 관계(relation)를 통해 서로 연결할 수 있는 구조적인 데이터베이스입니다.여기에서 관계(relation)는 서로 다른 테이블들 사이의 상호작용에 기반을 두고 형성된 논리적인 연결입니다. 📚 JDBC 구조관계형 데이터베이스에 저장된 데이터를 접근 및 조작할 수 있게 하는 자바 API 입니다.자바 응용프로그램..

카테고리 없음 2025.04.22

[DC] Spring Security와 로그인 구현해보기

웹 애플리케이션을 개발을 하면 할수록, 사용자가 많아질수록 보안의 중요성은 더욱 높아집니다. 웹 애플리케이션에서 보안은 선택이 아닌 필수입니다. 이번 글에서는 제가 최근에 학습한 스프링 시큐리티의 기본 개념부터, Spring Security를 활용한 간단한 로그인 기능까지 간단히 정리해보겠습니다. 🔐 스프링 시큐리티 (Spring Security) 정의Spring Security는 인증(Authentication)과 인가(Authorization)을 중심으로 웹 애플리케이션의 보안을 책임지는 스프링 기반 프레임워크입니다.클라이언트로부터 웹 요청이 들어오면 컨트롤러로 가기 전에 스프링 시큐리티가 먼저 요청을 가로채고, 누가 요청했는지(인증), 이 요청을 해도 되는지를(인가) 판단합니다. 📚 스프링 시..

카테고리 없음 2025.04.16

[DC] Spring HandlerMethodArgumentResolver에 대해 알아보자

✨ Spring MVC의 숨은 조력자 HandlerMethodArgumentResolver에 대해 알아보자! 🌟 HandlerMethodArgumentResolver 란?Spring MVC에서 컨트롤러의 메서드 파라미터에 값을 자동으로 넣어주는 기능을 하는 인터페이스입니다.컨트롤러 메서드에 특정 파라미터가 있으면 공통된 로직을 이용하여 처리할 수 있도록 도와줍니다. 👉 "컨트롤러의 파라미터를 해석해서 알맞은 객체로 주입" 한다는 것이 핵심입니다. ⚙️ 동작 순서 및 방식 (Spring의 파라미터 바인딩 처리 과정)1. 컨트롤러의 파라미터 탐색합니다.2. 등록된 모든 HandlerMethodArgumentResolver 중 supportsParameter 메서드의 값이 true 인 것을 찾습니다..

카테고리 없음 2025.04.14

[DC] Spring Content Negotiation 이란?

🔍 Content Negotiation은 Spring MVC에서 클라이언트가 어떤 데이터 형식(Json, XML, CSV 등)을 원하는지 판단해서, 서버가 그에 맞게 응답 포맷을 선택하는 메커니즘입니다. 💡 Content Negotiation 이란?"클라이언트가 원하는 표현 방식을 서버가 이해하고 그에 맞춰 응답하는 것" 입니다.즉, Json이든, XML이든, CSV이든, 같은 리소스를 요청하더라도 클라이언트의 요청에 따라 응답 형태가 바뀝니다. 🔧 요청에서 Accpet 헤더를 사용하는 경우 (예시)@GetMapping("/user")public User getUser() { User user = new User("Jason", 26, "student"); return user..

카테고리 없음 2025.04.14

[DC] Spring HttpMessageConverter 개념

🔍 Spring MVC에서 @RequestBody 또는 @ResponseBody를 사용해서 객체를 Json으로 변환하거나, Json 요청을 자바 객체로 바인딩해보신 적 있으신가요? HttpMessageConverter의 개념부터 실제 동작 방식까지 자세히 정리해 보겠습니다. ✨ Json 정의Json은 데이터를 텍스트 형식으로 키-값(key-value) 쌍으로 데이터를 표현하는 방식입니다.{ "name": "Jason", "age": 26, "class": "A"} 💡 HttpMessageConverter 란?Spring MVC에서 HTTP 요청 또는 응답 본문을 1. Java 객체를 Json/xml/csv/문자열로 변환하거나 2. Json/xml/csv/문자열을 Java 객체로 변..

카테고리 없음 2025.04.14

[DC] Spring IoC (Inversion of Control)란?

🌀 Spring IoC 란?"객체 생성과 의존성 관리를 개발자가 직접 하지 않고, Spring 프레임워크가 대신 해주는 개념" 입니다. 📌 IoC(Inversion of Control)를 해석해보면, "제어의 역전"이라는 의미를 가지고 있습니다.즉, 제어권은 Spring 프레임워크에게 있고 개발자는 그 흐름을 따르면 된다는 의미가 됩니다. Spring IoC에서 말하는 제어는 크게 두 가지로 나눌 수 있습니다: 1. 객체의 생성일반적인 자바 애플리케이션에서는 필요한 객체를 개발자가 직접 생성합니다.Object object = new Object();Spring에서는 객체를 개발자가 직접 만들지 않고 IoC 컨테이너가 대신 생성하고 관리합니다@Componentpublic class SpringObjec..

카테고리 없음 2025.04.02