반응형
SMALL
반응형
LIST
의존성 주입(Dependency Injection)은 객체 간 결합을 줄이고 코드의 유연성과 테스트 용이성을 높이는 중요한 설계 패턴이지만, 몇 가지 문제나 주의할 점이 있어요. 이를 살펴보겠습니다.1. 순환 의존성(Circular Dependency)문제: 순환 의존성은 A 빈이 B 빈을 필요로 하고, B 빈이 다시 A 빈을 필요로 하는 상황이에요. 순환 의존성이 발생하면, 스프링이 두 빈을 생성할 수 없어 애플리케이션이 실행되지 않거나 에러가 발생할 수 있어요.해결 방법: 보통 설계를 변경해 순환 의존성을 제거하거나, 일부 의존성을 @Lazy로 지연 로딩하여 문제를 피할 수 있습니다. 또, 인터페이스로 추상화하여 순환을 피할 수도 있어요.2. 빈 라이프사이클 관리 문제문제: 스프링이 빈을 관리하지만,..
"싱글톤(Singleton)"은 객체를 오직 하나만 생성해 모든 곳에서 공유하여 사용하도록 하는 디자인 패턴입니다.싱글톤의 주요 개념인스턴스 하나만 생성: 애플리케이션 전체에서 하나의 인스턴스만 존재하도록 제한합니다. 예를 들어, 같은 타입의 객체가 여러 개 생성되면 메모리를 더 많이 사용하게 되는데, 싱글톤을 통해 이런 메모리 낭비를 줄일 수 있어요.애플리케이션 전역에서 동일 객체 참조: 싱글톤 객체는 애플리케이션 어디에서든 같은 인스턴스를 공유하기 때문에, 상태가 유지되어야 하는 경우 유용하게 사용할 수 있습니다.글로벌 접근: 싱글톤 인스턴스는 어디서든 접근할 수 있어요. 보통 getInstance() 같은 메서드를 통해 접근합니다.스프링과 싱글톤Spring에서는 모든 빈이 기본적으로 싱글톤으로 관리..
Spring에서 "빈(Bean)"이란 스프링 컨테이너가 관리하는 객체를 뜻해요. Spring Framework에서는 객체의 생성, 초기화, 관리, 소멸 등을 자동으로 처리해 주기 때문에, 개발자는 객체를 직접 생성하고 관리할 필요 없이 필요한 곳에 빈을 주입받아 사용하기만 하면 돼요.빈의 주요 개념객체 인스턴스: 빈은 결국 Java 객체를 말해요. 하지만 단순 객체와는 다르게, 스프링 컨테이너에서 만들어지고 관리되는 객체예요.DI (Dependency Injection): 스프링은 필요한 빈을 자동으로 주입해 주는 DI 기능을 제공해요. 예를 들어, 어떤 클래스가 다른 클래스(빈)에 의존한다면, 스프링이 자동으로 그 클래스를 주입해 주어서 객체 간의 의존성을 해결해요.싱글톤(Singleton): 기본적으..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.