[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] Gradle 이해하기
·
Spring/Spring 설정
Gradle 작동 원리: Groovy와 Kotlin을 통한 의존성 관리 📌 서론 Gradle에서 Groovy나 Kotlin을 사용해 의존성을 관리하는 방식을 이해하려면, 먼저 Gradle이 어떻게 작동하는지, 그리고 이들 언어가 Java와 어떻게 상호작용하는지를 알아야 한다. 1. Gradle의 작동 원리 1-1. Gradle의 JVM 기반 및 호환성 Gradle은 Java 가상 머신(JVM) 위에서 실행되어, Java와 호환되는 다양한 언어들을 지원한다. 예를 들어, Scala나 Groovy와 같은 언어들도 Gradle에서 사용할 수 있다. 이 JVM 기반의 특성 덕분에 Gradle은 Windows, macOS, Linux 등 다양한 운영 체제에서도 똑같이 잘 작동한다. 이러한 플랫폼 독립성은 개발자들..
[Spring] yml vs properties 설정파일 비교
·
Spring/Spring 설정
application.yml VS application.properties 이 두가지를 비교해 보자 📌 서론 Spring Boot 프로젝트에서 가장 중요한 부분 중 하나는 설정 파일이다. 처음 프로젝트를 만들면 application.properties가 있는데 대부분은 이 파일을 application.yml로 변경해서 사용한다. 이 설정 파일들에 대해서 알아보자 1. application.properties 1-1. 형식 Key-Value 쌍으로 구성된, properties 파일이다. 각 설정은 새로운 라인에 위치하고, = 기호를 사용해 키와 값을 구분한다. 1-2. 특징 단순성: 구조가 매우 간단해서 작고 단순한 애플리케이션에 적합하다. 평면 구조: 계층적 구조를 지원하지 않아 복잡한 구성을 표현하기 ..
[Spring] Maven이란?
·
Spring/Spring 설정
Maven이 뭘까? 지금부터 알아보자 📌 서론 이전 회사에서 작업을 할 때 SpringFramework3.x.x 버전을 사용하고 Maven을 사용했던 기억이 있다. 이때 첫 프로젝트를 하면서 요즘에는 다 Gradle을 사용하는 추세로 넘어온 것 같은데 Maven을 사용해서 신기했었던 경험이 있다.(신입이었어서 그랬던 것도 있지만 프로젝트 자체가 10년이 넘었다.) 이렇게 퇴사를 하고 잊고 있다가 갑자기 요즘 Gradle을 사용해서 프로젝트의 빌드를 수행하다가 Build.gradle 파일 안에서 의존성을 추가할 MavenBom이라는 코드가 보여서 갑자기 든 생각이 Maven은 왜 만들어졌을까?라는 의문에 정리를 시작했다. 1. Maven 소개 Maven이란 무엇인가? Maven은 Apache Softwar..
Spring Boot: 필터에서 doFilter와 FilterChain이란?
·
Spring/Spring 기초 지식
이번 포스트에서는 Spring Filter에 대한 심화적인 이해를 해보도록 하자 📌 서론 Spring Framework에서 필터는 웹 애플리케이션의 요청과 응답을 조작하는 강력한 도구이다. 필터는 DispatcherServlet으로 가는 요청의 사전 처리와 후처리를 담당한다. 이를 통해 요청과 응답에 대한 중앙집중식 처리가 가능해진다. 필터는 doFilter() 메서드를 통해 요청을 가로채고, 필요한 로직을 실행한 뒤, 요청을 다음 목적지(다른 필터 또는 서블릿)로 전달한다. 지금부터 필터의 핵심 메서드인 doFilter에 대해 상세히 살펴보고, 실제 HTTP 요청 처리 예시를 통해 그 사용법을 알아보자 필터에 대한 자세한 내용은 아래의 포스트를 보고오자 Spring - Filter완전 정복: 웹 애플리..