Spring (40) 썸네일형 리스트형 09. 빈 스코프 (작성 중!) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 01. 빈 스코프란? 1) 빈 스코프 스프링에서 빈이라는 용어는 특정한 객체를 지칭합니다. 이 객체는 스프링 컨테이너의 관리를 받아, 스프링 컨테이너가 생명 주기를 관리하고, 의존성 주입을 처리합니다. 이러한 빈의 생명 주기에 대한 범위를 스코프라고 부릅니다. 그래서 빈 스코프라는 말은 결국 '빈이 존재할 수 있는 범위'를 의미합니다. (1) 싱글톤 스코프 우리는 보통 스프링 빈이 스프링 컨테이너가 시작되면서 생성되고, 스프링 컨테이너가 종료될 때까지 유지된다고 배웁니다. 이는 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문입니다. 싱글톤 스코프란, 스프링 컨테이너의 시작과 종.. 06. AOP 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) AOP가 필요한 상황 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 특정 기능을 애플리케이션의 여러 부분에 걸쳐 적용할 때 매우 유용한 프로그래밍 패러다임입니다. 특히, 모든 메소드의 호출 시간을 측정하거나, 특정 작업(예: 회원 가입, 회원 조회 등)에 대한 성능 모니터링과 같은 공통 관심 사항을 처리할 때 AOP가 필요한 상황이 발생합니다. (1) 모든 메소드의 호출 시간 측정 예를 들어, 애플리케이션의 성능을 분석하고자 할 때 모든 메소드의 실행 시간을 측정하고 싶다고 가정해봅시다. 이 작업.. SpringMVC의 HttpMessageConverter 뜯어보기 보호되어 있는 글입니다. 08. 빈 생명주기 Call Back 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 빈 생명주기 콜백 시작 1) 빈 생명주기 콜백의 필요성 (1) 목적: 스프링 빈은 객체의 생성과 소멸 과정에서 특정 로직을 실행할 필요가 있습니다. 이러한 로직은 자원을 할당하거나 해제하는 데 중요할 수 있습니다. (2) 사용 사례: 예를 들어, 데이터베이스 커넥션 풀은 애플리케이션 시작 시점에 데이터베이스와의 연결을 미리 맺고, 애플리케이션 종료 시점에 이러한 연결을 안전하게 종료해야 합니다. 네트워크 소켓도 마찬가지로, 애플리케이션 실행 중에는 유지되어야 하며, 종료 시점에 적절하게 닫혀야 합니다. (3) 이유: 이러한 작업들은 자원의 효율적 사용과 메모리 누수 방지, 연결.. 07. 의존관계 자동 주입 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 다양한 의존관계 주입 방법 의존관계 주입은 주로 4가지 방법을 통해 이루어집니다. 의존 관계 주입은 생성자 주입, 수정자 주입, 필드 주입, 일반 메서드 주입이 있습니다. 1) 생성자 주입(Constructor Injection) (1) 정의 생성자 주입은 클래스의 생성자를 통해 해당 클래스가 의존하는 다른 객체들을 주입받는 방식입니다. 이 방식은 객체 생성 시 필요한 의존성을 모두 받아오므로, 객체가 생성되고 나서는 변경되지 않는 불변 상태를 유지합니다. (2) 특징 단 한 번의 호출 보장: 생성자는 객체 생성 시 단 한 번만 호출되므로, 의존 관계도 한 번만 설정됩니다. 불.. 06. 컴포넌트 스캔 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 컴포넌트 스캔과 의존관계 자동 주입에 대한 이해 1) 들어가며 (1) 기존 스프링 빈 등록 방식: 지금까지 스프링 빈을 등록하는 방식은 주로 `@Bean` 어노테이션을 사용한 자바 코드 또는 XML의 `` 태그를 통해 직접 설정 정보를 작성하고, 스프링 빈을 명시적으로 등록하는 방법이었습니다. (2) 문제점: 하지만 이러한 방식은 예제 수준의 간단한 애플리케이션에서는 큰 문제가 되지 않지만, 실제 복잡한 애플리케이션에서는 수십 또는 수백 개의 스프링 빈을 관리해야 하며, 이들을 일일이 설정 정보에 등록하는 것은 매우 번거로운 작업입니다. 뿐만 아니라, 이런 방식은 설정 정보가 .. 05. 싱글톤 컨테이너 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 웹 애플리케이션과 싱글톤 (1) 웹 애플리케이션과 동시다발적 요청 처리 웹 애플리케이션에서는 동일한 서비스에 대해 여러 사용자가 동시에 요청을 보내는 상황이 흔히 발생합니다. 특히 대규모 기업에서 운영하는 웹 서비스의 경우, 이러한 동시다발적인 요청이 수천, 수만, 혹은 그 이상의 규모로 일어나게 됩니다. 스프링 프레임워크는 바로 이런 대규모 웹 애플리케이션 환경에서 효율적으로 서비스를 제공하고자 하는 목적으로 탄생했습니다. (2) 순수 DI 컨테이너의 문제점 스프링 프레임워크를 사용하지 않고, 순수한 DI(Dependency Injection) 컨테이너를 사용하는 경우에는 사.. 04. 스프링 컨테이너와 스프링 빈 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 0. 들어가며 이전 게시글에서는 스프링이 나오게 된 개념에 대해 알아보았습니다. 이번 게시글에서는 스프링 자체가 어떻게 동작되는 지를 알아보겠습니다. 03. 스프링 핵심 원리 이해 2 - 객체 지향 원리 적용 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 1. 들어가며 지난 게시물에서는 스프링 프레임워크의 탄생 배경과 그 특징, 그 soo99.tistory.com 1. 스프링 컨테이너의 생성과정 1) 스프링 컨테이너 생성 - 밑의 코드는 스프링 프로젝트가 시작될 때, 가장 먼저 실행되는 코드입니다. publ.. 이전 1 2 3 4 5 다음