SpringBoot

Spring Quick - DAY1(2)

EJUN 2023. 2. 6. 23:12

더보기

의존관계란?

클래스 A와 클래스 B가 존재한다고 하고, 만약 A클래스가 변경되었을 때 변경된 부분이 B클래스에도 영향을

미치면 A와B는 의존관계에 있다고 한다.

 

스프링 프레임워크의 가장 중요한 특징은 객체의 생성과 의존관계를 컨테이너가 자동으로 관리하는 점이다.

 

스프링은 IoC를 아래와 같은 형태로 지원함

  • DL(Dependency Lookup) -> 컨테이너가 애플리케이션 운용에 필요한 객체를 생성하고 사용자는 컨테이너가 생성한 객체를 검색하여 사용하는 방식
  • DI(Dependency Injection) -> 객체 사이의 의존관계를 스프링 설정 파일(XML)에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리해준다.  세터인젝션(Setter Injection) 과 생성자 인젝션(Constructor Injection)이 있다
 

 

스프링의 IoC

※ 스프링 컨테이너가 생성하는 객체를 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