[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] 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] 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완전 정복: 웹 애플리..
웹 개발자를 위한 CORS 이해와 Spring Boot에서의 적용 방법
·
Spring/Spring 기초 지식
이번 포스트에서는 CORS에 대한 심화 내용을 설명한다. 📌 서론 웹 개발을 하다 보면, 다양한 출처(origin)에서 서버로 요청을 보내는 상황이 자주 발생한다. 이때 CORS(Cross-Origin Resource Sharing) 정책이 중요한 역할을 한다. Spring Boot와 React를 예로 들어 CORS에 대해 자세히 알아보도록 하자 1. 요청 헤더와 응답 헤더는 어떻게 다뤄지나? 요청 헤더와 응답 헤더: 기본 원칙 웹 애플리케이션에서 서버로 데이터를 요청할 때 사용하는 '헤더'는 요청 정보를 담고 있다. 예를 들어, 로그인 정보나 데이터 형식 등이 여기에 해당된다. 하지만, 요청을 받은 서버가 응답을 줄 때, 이 요청 헤더는 자동으로 응답 헤더로 넘어가지 않는다. HttpServletReq..
Spring: 필터(Filter)가 인터셉터(Interceptor)와 다른점
·
Spring/Spring 기초 지식
이번 포스트에서는 Spring Filter에 대해서 알아보도록 하자 1. Spring에서 Filter의 개념 필터의 정의 필터는 웹 애플리케이션에서 클라이언트의 요청과 서버의 응답을 가로채는 재사용 가능한 코드 조각이다. 서블릿 스펙의 일부로, 요청이 서블릿에 도달하기 전과 응답이 클라이언트로 반환되기 전에 특정 작업을 수행할 수 있다. 서블릿 필터의 기본 원리 필터 체인을 통해 여러 필터를 순차적으로 적용할 수 있다. 각 필터는 doFilter() 메서드를 통해 요청과 응답을 조작하고, 필터 체인의 다음 필터나 최종 목적지(서블릿 또는 정적 리소스)로 요청/응답을 전달할 수 있다. 스프링 부트에서 필터의 역할 스프링 부트는 자동 구성을 통해 필터를 쉽게 추가하고 관리할 수 있게 해준다. 보안, 트랜잭션..