Spring Boot 생성자 주입 알아보기1: @ComponentScan 동작원리
·
Spring/Spring 기초 지식
이번 포스트에서는 내가 궁금해서 알아본 생성자 주입이 이루어지는 과정에 대해서 설명할 것이다. 📌 서론 이번 포스트는 총 2편으로 나뉜다. 지금부터 설명할 1편에서는 @ComponentScan이 빈 등록을 어떻게 하는지 알아보고 2편에서는 이 등록된 빈을 활용하여 생성자 주입을 진행하는 것을 상세히 알아본다. 이번 포스트의 내용은 스프링에서 가장 중요하게 사용되는 Bean을 등록하는 과정을 상세하게 설명하도록 하겠다. 1. 생성자 주입과 컴포넌트 스캔 간략하게 알아보기 1-1 생성자 주입 과정 알아보기 1. SpringApplication.run() 스프링 부트 애플리케이션을 시작하는 주요 진입점이다. 이 메서드가 호출되면 내부적으로 여러 설정과 초기화 작업이 진행된다. 2. ApplicationCont..
SpringBoot: 리소스 관리하기 (resource)
·
Spring/Spring 기초 지식
스프링 부트는 내부적으로 리소스를 어떻게 로딩할까? 📌 서론 길을 걸어가던 도중 스프링, 스프링부트에서는 어떻게 application.yml이나 js, css 같은 파일들을 읽어 들여서 사용하는지에 대한 궁금증이 생겼다. 그래서 당장 조사를 했고 이를 정리해 봤다. 지금부터 그 내용을 공유한다. 1. 리소스 로딩의 중요성과 기본 개념 스프링 어플리케이션의 성능과 개발 효율성 향상을 위해서는 다양한 외부 리소스(파일, 이미지 등)를 효율적으로 로딩하는 것이 중요하다. Resource 인터페이스는 다양한 리소스 유형에 대해 일관된 API를 제공하며, 리소스 존재 여부 확인, 파일/URL 접근 등 다양한 기능을 제공한다. 리소스 로딩의 중요성 스프링 어플리케이션에서 리소스 로딩은 핵심적인 부분이다. 외부 리소..
[Spring] AOP: 횡단 관심사 쉽게 이해하기
·
Spring/Spring 기초 지식
이번 시간에는 횡단 관심사 (AOP)에 대해서 알아보자 횡단 관심사(Aspect-Oriented Programming, AOP)는 프로그래밍에서 자주 등장하는 개념이다. 이 개념의 핵심은 애플리케이션의 여러 부분에서 반복되는 기능들을 하나의 장소에 모아 관리하는 것이다. 예를 들어보면 로깅, 보안, 트랜잭션 처리 같은 기능들이 횡단 관심사에 해당한다.  횡단 관심사(Aspect-Oriented Programming, AOP)란?1. AOP란 무엇인가?AOP, 즉 Aspect-Oriented Programming은 프로그래밍에서 매우 중요한 개념 중 하나로, 주로 반복되는 코드와 관심사를 분리하는 데 초점을 맞추고 있다. 이 방식은 소프트웨어 개발에서 흔히 접하는 문제인 코드의 중복을 줄이고, 모듈성을 향..
[Spring] @Component와 @Bean의 차이점
·
Spring/Spring 기초 지식
Spring에서 @Bean과 @Component의 차이와 최적의 활용 방법을 알아보자 아래의 포스트를 통해 @Bean과 @Component의 기본 지식을 보충하고 오시는것을 추천합니다! Spring 빈 등록: @Bean의 기본과 활용 이번 포스트에는 스프링에서 가장 중요한 빈 등록 방식 @Bean에 대해 소개한다. 📌 서론 Spring Framework에서 @Bean은 매우 중요한 개념이다. 이는 개발자가 직접 제어할 수 없는 외부 라이브러리나 복 curiousjinan.tistory.com Spring의 빈 등록: @Component 이번 포스트에서는 @Component를 사용하여 스프링 빈 등록하는 방법을 알아보자 📌 서론 Spring Framework의 @Component 어노테이션은 클래스 인스턴..
[Spring] @Component로 스프링 빈 등록하기
·
Spring/Spring 기초 지식
이번 포스트에서는 @Component를 사용하여 스프링 빈 등록하는 방법을 알아보자 📌 서론 Spring Framework의 @Component 어노테이션은 클래스 인스턴스를 스프링 빈으로 자동 등록한다. 이는 의존성 주입과 빈 생명주기 관리를 효율적으로 만들며, 스프링의 다양한 기능과도 잘 통합된다. @Component의 사용은 애플리케이션 구성을 간소화하고, 유지보수와 테스트가 쉬운 코드를 만드는 데 중요한 역할을 한다. 이를 통해 스프링 애플리케이션 개발이 더욱 간편하고 효과적이 된다. 1. @Component 사용법 및 특징 기본 사용법 @Component 어노테이션은 스프링 프레임워크에서 클래스를 자동으로 빈으로 등록하기 위해 클래스 레벨에서 사용된다. 이는 스프링 컨테이너가 애플리케이션 시작 ..
[Spring] @Bean을 사용한 스프링 빈 등록
·
Spring/Spring 기초 지식
이번 포스트에는 스프링에서 가장 중요한 빈 등록 방식 @Bean에 대해 소개한다. 📌 서론 Spring Framework에서 @Bean은 매우 중요한 개념이다. 이는 개발자가 직접 제어할 수 없는 외부 라이브러리나 복잡한 구성이 필요한 객체를 스프링의 관리하에 두기 위해 사용되는 어노테이션이다. @Bean을 이해하고 올바르게 사용하는 것은 Spring 기반 애플리케이션의 효율적인 관리와 유연한 구성을 위해 필수적이다. 이를 통해 개발자는 스프링 컨테이너가 관리하는 빈(Bean) 객체를 생성하고, 이를 애플리케이션 전반에서 재사용할 수 있다. @Bean의 이해는 Spring의 의존성 주입(Dependency Injection) 기능을 깊이 이해하는 데에도 중요하며, 이는 애플리케이션의 결합도를 낮추고 유지..
[Spring] JAR와 WAR 이해하기
·
Spring/Spring 기초 지식
이번 포스트에서는 spring 프로젝트를 배포할 때 Jar와 War 중 무엇을 선택할지 그 기준을 알아보자📌 서론회사에서는 Spring Framework 3 프로젝트를 Maven으로 빌드하여 WAR 파일로 배포했었다. 반면, 개인적으로 공부하는 Spring Boot 3 프로젝트에서는 Gradle로 빌드한 후 JAR 파일을 배포했다. 이 두 방식 사이에서, 'WAR와 JAR의 차이가 뭘까? 왜 이 두 가지 방식을 사용하는 걸까?'라는 의문이 들었다. 지금 이 포스트는 이러한 궁금증을 해결하고자 작성하기 시작했다. Spring Framework와 Spring Boot에서 사용되는 WAR와 JAR 파일의 차이점을 탐구하고, 각각의 사용 사례와 장단점을 살펴보자 1. WAR 파일과 Spring Framewor..
Spring Boot: 필터에서 doFilter와 FilterChain이란?
·
Spring/Spring 기초 지식
이번 포스트에서는 Spring Filter에 대한 심화적인 이해를 해보도록 하자 📌 서론 Spring Framework에서 필터는 웹 애플리케이션의 요청과 응답을 조작하는 강력한 도구이다. 필터는 DispatcherServlet으로 가는 요청의 사전 처리와 후처리를 담당한다. 이를 통해 요청과 응답에 대한 중앙집중식 처리가 가능해진다. 필터는 doFilter() 메서드를 통해 요청을 가로채고, 필요한 로직을 실행한 뒤, 요청을 다음 목적지(다른 필터 또는 서블릿)로 전달한다. 지금부터 필터의 핵심 메서드인 doFilter에 대해 상세히 살펴보고, 실제 HTTP 요청 처리 예시를 통해 그 사용법을 알아보자 필터에 대한 자세한 내용은 아래의 포스트를 보고오자 Spring - Filter완전 정복: 웹 애플리..