반응형
SMALL
반응형
LIST
2024.11.09 - [cs정리] - SPRING BEAN이란 SPRING BEAN이란Spring에서 "빈(Bean)"이란 스프링 컨테이너가 관리하는 객체를 뜻해요. Spring Framework에서는 객체의 생성, 초기화, 관리, 소멸 등을 자동으로 처리해 주기 때문에, 개발자는 객체를 직접 생성하고 관ha-vlog.tistory.com 1. 스프링에서 빈(Bean)이란 무엇인가요?더보기스프링 빈은 스프링 IoC 컨테이너에 의해 관리되는 객체입니다. 스프링 애플리케이션에서는 빈으로 등록된 객체들이 필요할 때 컨테이너로부터 주입되어 사용됩니다. 이 빈은 싱글톤으로 관리될 수도 있고, 다른 스코프도 가질 수 있습니다. ( IoC 컨테이너는 Inversion of Control의 약자로, 제어의 역전을 ..
이렇게 대답하세요! 1. 순환 참조(Circular Dependency) 더보기빈 A가 빈 B를 주입받고, 다시 빈 B가 빈 A를 주입받는 상황이 생기면 순환 참조 문제가 발생할 수 있습니다. 이 경우 서로가 서로를 기다리게 되면서 빈이 생성되지 않고, 결국 애플리케이션 구동이 실패하게 되죠.해결 방법으로는 먼저 의존성 구조를 재설계해서 순환 참조가 발생하지 않도록 하는 게 가장 좋고요. 필요한 경우 @Lazy를 사용해 빈 주입을 지연시켜 문제를 해결할 수도 있습니다.2. 빈 중복 등록 및 선택 문제 더보기같은 타입의 빈이 여러 개 등록되어 있을 때, 어떤 빈을 주입해야 할지 모호해지는 상황이 생깁니다. 이로 인해 주입된 빈이 의도와 다를 수 있고, 애플리케이션 실행 중 오류가 발생할 수도 있어요.이 ..
의존성 주입(Dependency Injection)은 객체 간 결합을 줄이고 코드의 유연성과 테스트 용이성을 높이는 중요한 설계 패턴이지만, 몇 가지 문제나 주의할 점이 있어요. 이를 살펴보겠습니다.1. 순환 의존성(Circular Dependency)문제: 순환 의존성은 A 빈이 B 빈을 필요로 하고, B 빈이 다시 A 빈을 필요로 하는 상황이에요. 순환 의존성이 발생하면, 스프링이 두 빈을 생성할 수 없어 애플리케이션이 실행되지 않거나 에러가 발생할 수 있어요.해결 방법: 보통 설계를 변경해 순환 의존성을 제거하거나, 일부 의존성을 @Lazy로 지연 로딩하여 문제를 피할 수 있습니다. 또, 인터페이스로 추상화하여 순환을 피할 수도 있어요.2. 빈 라이프사이클 관리 문제문제: 스프링이 빈을 관리하지만,..
"싱글톤(Singleton)"은 객체를 오직 하나만 생성해 모든 곳에서 공유하여 사용하도록 하는 디자인 패턴입니다.싱글톤의 주요 개념인스턴스 하나만 생성: 애플리케이션 전체에서 하나의 인스턴스만 존재하도록 제한합니다. 예를 들어, 같은 타입의 객체가 여러 개 생성되면 메모리를 더 많이 사용하게 되는데, 싱글톤을 통해 이런 메모리 낭비를 줄일 수 있어요.애플리케이션 전역에서 동일 객체 참조: 싱글톤 객체는 애플리케이션 어디에서든 같은 인스턴스를 공유하기 때문에, 상태가 유지되어야 하는 경우 유용하게 사용할 수 있습니다.글로벌 접근: 싱글톤 인스턴스는 어디서든 접근할 수 있어요. 보통 getInstance() 같은 메서드를 통해 접근합니다.스프링과 싱글톤Spring에서는 모든 빈이 기본적으로 싱글톤으로 관리..
Spring에서 "빈(Bean)"이란 스프링 컨테이너가 관리하는 객체를 뜻해요. Spring Framework에서는 객체의 생성, 초기화, 관리, 소멸 등을 자동으로 처리해 주기 때문에, 개발자는 객체를 직접 생성하고 관리할 필요 없이 필요한 곳에 빈을 주입받아 사용하기만 하면 돼요.빈의 주요 개념객체 인스턴스: 빈은 결국 Java 객체를 말해요. 하지만 단순 객체와는 다르게, 스프링 컨테이너에서 만들어지고 관리되는 객체예요.DI (Dependency Injection): 스프링은 필요한 빈을 자동으로 주입해 주는 DI 기능을 제공해요. 예를 들어, 어떤 클래스가 다른 클래스(빈)에 의존한다면, 스프링이 자동으로 그 클래스를 주입해 주어서 객체 간의 의존성을 해결해요.싱글톤(Singleton): 기본적으..