Spring Framework(163)
-
DefaultListableBeanFactory의 확장성이란?
DefaultListableBeanFactory의 확장성과 BeanPostProcessor/BeanFactoryPostProcessor의 관계를 설명해 드리겠습니다.📌 1️⃣ DefaultListableBeanFactory의 확장성이란?✔ DefaultListableBeanFactory는 스프링의 핵심 Bean Factory로, 빈을 생성, 관리, 검색, 조작할 수 있는 다양한 기능을 제공합니다.✔ 확장성이 뛰어나다는 의미는 단순히 정적인 빈 관리가 아니라, 실행 중 동적으로 빈을 조작할 수 있는 다양한 확장 포인트를 제공한다는 뜻입니다.✔ 대표적인 확장 포인트가 바로 BeanPostProcessor와 BeanFactoryPostProcessor 입니다.📌 즉, DefaultListableBeanFa..
2025.03.06 -
BeanPostProcessor / BeanFactoryPostProcessor
📌 BeanPostProcessor 및 BeanFactoryPostProcessor 완전 정리 🚀DefaultListableBeanFactory는 스프링의 핵심 빈 팩토리 구현체로 확장성이 뛰어나며, BeanPostProcessor와 BeanFactoryPostProcessor를 통해 빈의 생성, 초기화, 및 라이프사이클을 조작할 수 있습니다.📌 1️⃣ DefaultListableBeanFactory의 확장성 개요스프링은 빈의 생성, 초기화, 의존성 주입, 소멸 등 다양한 단계에서 개입할 수 있는 확장 포인트를 제공합니다.특히 BeanPostProcessor와 BeanFactoryPostProcessor는 스프링 컨테이너 내부에서 자동으로 실행되며,빈이 생성되거나 컨테이너가 초기화될 때 추가적인 로..
2025.03.06 -
CORS
📌 Spring MVC의 CORS (Cross-Origin Resource Sharing) 정리🔹 1️⃣ CORS란?CORS(Cross-Origin Resource Sharing)는 다른 도메인에서 AJAX Request을 허용할지 결정하는 보안 정책입니다.웹 브라우저는 보안 문제로 인해 같은 출처(Same-Origin)의 요청만 허용하며,다른 출처(Origin)에서 오는 Request는 기본적으로 차단됩니다.✔ 같은 출처(Same-Origin) 요청 예시✅ https://example.com → https://example.com/api/data (허용)✔ 다른 출처(Cross-Origin) 요청 예시❌ https://evil.com → https://example.com/api/data (차단)?..
2025.03.05 -
URI Links
📌 Spring에서 URI(Uniform Resource Identifier) 다루기 정리Spring은 URI를 동적으로 생성, 파싱, 인코딩 및 링크 작성하는 다양한 기능을 제공합니다.이를 통해 RestTemplate, WebClient, 컨트롤러, 뷰(JSP, Thymeleaf) 등에서 URI를 보다 유연하게 구성할 수 있습니다.🔹 1️⃣ UriComponents 및 UriComponentsBuilderSpring에서는 UriComponentsBuilder를 사용하여 동적으로 URI를 생성할 수 있습니다.URI 템플릿을 사용하여 변수를 포함한 동적 URI를 쉽게 생성할 수 있습니다.📍 ✔ 기본 사용법UriComponents uriComponents = UriComponentsBuilder ..
2025.03.05 -
HATEOAS(Hypermedia as the Engine of Application State)
🌐 HATEOAS(Hypermedia as the Engine of Application State) 상세 설명🔥 1. HATEOAS란?HATEOAS(Hypermedia as the Engine of Application State)는 REST API의 확장 개념으로,클라이언트가 별도의 API 문서 없이도 응답 데이터에 포함된 하이퍼링크를 사용하여 동적으로 리소스를 탐색할 수 있도록 하는 기법입니다.✅ 즉, API 응답에 다음 가능한 액션(링크)을 포함하여, API 사용자가 이를 보고 자연스럽게 API를 활용할 수 있도록 하는 것! 📌 REST API vs HATEOASREST APIHATEOAS요청에 대해 JSON/XML 응답 반환응답에 추가 가능한 링크(URI) 포함API 문서를 따로 확인해야 ..
2025.03.03 -
Logging
Spring MVC에서 로깅(logging)은 애플리케이션의 동작을 추적하고 디버깅하는 데 필수적인 기능입니다.특히, Spring MVC의 DEBUG 및 TRACE 레벨 로깅은 가독성이 좋고, 최소한의 정보로도 유용한 디버깅이 가능하도록 설계되어 있습니다.1. Spring MVC의 로깅 레벨(Log Level)Spring MVC에서 로그는 다양한 레벨(level)을 지원하며, 목적에 따라 적절한 레벨을 설정할 수 있습니다.로그 레벨설명ERROR애플리케이션에서 치명적인 오류 발생 시 기록WARN애플리케이션이 정상 동작하지만 주의해야 할 사항 기록INFO주요 이벤트나 상태 변경 사항을 기록DEBUG디버깅을 위해 상세한 정보를 기록TRACEDEBUG보다 더 상세한 정보를 기록 (추적 목적으로 사용)📌 DEB..
2025.02.28