전체 글(684)
-
Using @Autowired
Using @Autowired참조: Spring Framework 7.0.6 공식 문서JSR-330 @Inject는 대부분의 @Autowired 위치에서 대체 사용 가능합니다.목차적용 위치 (Injection Points)타입 일치 원칙과 @Bean 반환 타입Self Injection (자가 주입)다중 빈 주입과 순서 제어required 속성 완전 정복선택적 의존성 표현법Spring Context 핵심 인터페이스 주입BeanPostProcessor 내에서의 한계요약1. 적용 위치 (Injection Points)@Autowired는 타입(Type) 기반으로 컨테이너의 빈을 탐색한 뒤 주입합니다. 적용 가능한 위치는 세 곳입니다.1.1 생성자 주입 — ✅ 권장public class MovieRecommen..
2026.06.19 -
Properties
java.util.Properties의 용도와 스프링에서의 동작 원리이전 포스팅에서 외부 설정 문자열을 알맞은 자바 타입으로 변환해 주는 PropertyEditor에 대해 알아보았습니다. 이번에는 외부 설정 데이터를 자바 메모리상에 조작하기 쉬운 형태로 담아두는 핵심 저장소이자 도구인 java.util.Properties 클래스에 대해 파헤쳐 보겠습니다.스프링을 쓰면서 application.properties 파일은 매일 보지만, 정작 이 파일이 자바의 어떤 객체와 매핑되고 어떻게 도구로 활용되는지 놓치기 쉽습니다.✅ 1. java.util.Properties란 무엇인가? (개념과 용도)java.util.Properties는 자바가 아주 초기 버전(JDK 1.0)부터 제공해 온 유서 깊은 내장 클래스입니..
2026.06.16 -
PropertyEditor
PropertyEditor와 타입 캐스트의 비밀스프링 IoC 컨테이너가 BeanDefinition이라는 설계도를 바탕으로 빈을 생성하고 의존성을 주입할 때, 백그라운드에서 묵묵히 복잡한 형변환을 처리해 주는 숨은 공신이 있습니다.이번 포스팅에서는 스프링 내부에서 문자열 설정을 자바 객체 타입으로 변환해 주는 핵심 도구인 PropertyEditor에 대해 자세히 알아보겠습니다. ✅ PropertyEditor란 무엇인가?한마디로 "텍스트(String)를 자바가 이해하는 특정 객체나 기본 타입(Primitive Type)으로 변환해 주는 도구"입니다.스프링 파일이나 외부 설정 파일에 적힌 내용은 본질적으로 모두 문자열(String)입니다. 하지만 우리가 만드는 자바 프로그램은 숫자(int), 날짜(Date),..
2026.06.16 -
Reducer
리덕스(Redux) 아키텍처에서 리듀서(Reducer)는 이전 상태(Previous State)와 액션(Action) 객체를 입력으로 받아, 새로운 상태(New State)를 결정하여 반환하는 순수 함수(Pure Function)입니다.구체적인 기술적 명세는 다음과 같습니다.1. 함수의 정의리듀서는 수학적으로 다음의 구조를 가집니다.$$(state, action) \rightarrow newState$$state: 현재 스토어에 저장되어 있는 데이터 상태.action: 수행할 작업의 종류(type)와 변경에 필요한 데이터(payload)를 담은 객체.2. 순수 함수(Pure Function)의 제약 조건리듀서는 반드시 순수 함수여야 하며, 이는 리덕스의 상태 변경 예측 가능성을 보장하기 위한 핵심입니다...
2026.04.17 -
RTK Query[3]
1. baseQuery.js : 보안 및 통신 레이어import { fetchBaseQuery } from '@reduxjs/toolkit/query/react';import { logout } from '@/features/auth/authSlice';/** JS 접근 가능한 XSRF-TOKEN 쿠키를 읽는 헬퍼 */const getCsrfToken = () => { const match = document.cookie.match(/XSRF-TOKEN=([^;]+)/); return match ? decodeURIComponent(match[1]) : null;};// 기본 fetch 설정const rawBaseQuery = fetchBaseQuery({ baseUrl: import.meta.en..
2026.04.16 -
RTK Query[1]
Redux에서 RTK Query는 단순한 “데이터 요청 도구”가 아니라,👉 서버 상태(Server State)를 관리하기 위한 선언적 데이터 패칭 + 캐싱 시스템입니다.정확히 말하면:Redux Toolkit 안에 포함된 “데이터 fetching + caching + synchronization 프레임워크” 🔥 왜 RTK Query가 등장했나기존 Redux에서 API(RESTful API, GraphQL)호출을 하면 구조가 이렇게 됩니다:Component → dispatch → thunk → API 호출 → reducer → store → component문제:❌ 보일러플레이트 폭발 (action / reducer / thunk)❌ 캐싱 직접 구현❌ 로딩 / 에러 상태 관리 반복❌ 중복 요청 방지 어려..
2026.04.16