반응형
의존이란?
한 클래스가 다른 클래스의 메소드를 실행할 때 이를 '의존'한다라고 표현
의존하는 방법
- 의존하는 객체를 클래스 내부에서 직접 생성하는 방법
- 의존 객체를 전달 받는 방식 (DI를 통한 의존 처리) - DI 패턴
- 의존 자동 주입
Q. 2번이 1번 보다 좋은 방법이다 그 이유는?
더보기
A. 의존 객체를 생성자를 통해 주입하는 방식이 의존 객체를 직접 생성하는 방식 보다 좋은 이유는 유연함에 있다.
1번 같은 경우 수정이 발생할 경우 객체가 필요한 곳 모두 동일하게 수정해야 하는 반면,
2번은 객체를 생성할 때 사용할 클래스를 한 곳만 변경하면 된다.
3. 의존 자동 주입
의존 대상을 설정 코드에서 직접 주입하지 않고 스프링이 자동으로 의존하는 빈 객체를 주입해주는 기능
(Spring boot가 나오면서 의존 자동 주입을 사용하는 추세이다.)
@Autowired 또는 @Resource annotation을 사용한다.
Annotation을 붙이면 스프링이 해당 타입의 빈 객체를 찾아서 필드에 할당하므로
설정 클래스에서 의존을 주입하지 않아도 된다.
조립기 (assembler)
객체를 생성하고 의존 주입을 이용해서 객체를 서로 연결해주는 역할을 수행한다.
스프링은 DI를 지원하는 조립기라 할 수 있다.
차이점 : Assembler는 특정 타입의 클래스만 생성한 반면 스프링은 범용 조립기이다.
반응형
'웹개발 > Spring' 카테고리의 다른 글
[JPA] 양방향 연관관계 (0) | 2020.01.19 |
---|---|
[JPA] 엔티티 매핑 ⭐️ @Entity, @Table, @Column, @Id (0) | 2020.01.17 |
[JPA] 플러시란? Flush (0) | 2020.01.17 |
[JPA] 준영속 엔티티란? 변경 감지와 병합(merge) (0) | 2020.01.16 |
[JPA] 영속성 컨텍스트란? Entity Manager (0) | 2020.01.16 |