더보기
의존관계란?
클래스 A와 클래스 B가 존재한다고 하고, 만약 A클래스가 변경되었을 때 변경된 부분이 B클래스에도 영향을
미치면 A와B는 의존관계에 있다고 한다.
스프링 프레임워크의 가장 중요한 특징은 객체의 생성과 의존관계를 컨테이너가 자동으로 관리하는 점이다.
스프링은 IoC를 아래와 같은 형태로 지원함
- DL(Dependency Lookup) -> 컨테이너가 애플리케이션 운용에 필요한 객체를 생성하고 사용자는 컨테이너가 생성한 객체를 검색하여 사용하는 방식
- DI(Dependency Injection) -> 객체 사이의 의존관계를 스프링 설정 파일(XML)에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리해준다. 세터인젝션(Setter Injection) 과 생성자 인젝션(Constructor Injection)이 있다
※ 스프링 컨테이너가 생성하는 객체를 XML설정이나 어노테이션 설정으로 처리할 수 있다
※라이브러리 형태로 제공되는 클래스는 반드시 XML설정을 통해서만 사용가능
의존성 주입 어노테이션
- @Autowired -> 변수 위에 설정하여 해당 타입의 객체를 찾아서 자동으로 할당
- @Qualifier -> 특정 객체의 이름을 사용하여 의존성 주입
@Component("A")
public class Lg implements TV{
@Autowired
private Speaker speaker
/*
Lg메소드 추가
*/
}
@Component("A")
public class Lg implements TV{
@Autowired
@Qualifier("apple")
private Speaker speaker
/*
Lg메소드 추가
*/
}
※ 위의 코드처럼 @Qualifier(“apple”)이렇게 하면 의존성 주입될 객체의 아이디나 이름을 지정할 수 있어서 구분할 수 있음
'SpringBoot' 카테고리의 다른 글
[Spring] 스프링 시큐리티(Security) (0) | 2023.07.24 |
---|---|
[Spring] 트랜잭션(Transaction) 이란? (0) | 2023.07.02 |
Spring Quick - DAY1(1) (0) | 2023.02.06 |