스프링 프레임워크의 핵심기능 중 하나인 DI(Dependency Injection)에 대해서 알아보려고 한다.
간단하게 의존에대해서 설명하자면
한 A클래스 내에서 B클래스의 객체를 생성해서 사용한다고하면 A클래스는 B클래스에 의존하고 있다고 설명할 수 있다.
의존을 설정하는 방식에는 의존객체를 직접 설정, DI코드를 이용한 외부에의한 의존설정 방식이 있다.
1. 생성자 방식으로 의존 설정 예시
private Enter enter = new Enter();
이렇게 작성할 시 단점으로 Enter 클래스를 상속이나 구현받은 하위 클래스를 사용해야 할 때
private Enter enter = new subEnter();
이런식으로 코드를 변경해주어야 한다는 단점이있다.
2. DI 방식으로 의존 설정
DI방식으로 의존을 외부설정 할 경우 구현되지 않은 메서드에대해서 가짜 메서드를 구현해
테스트 할 수 있게 해준다. 즉 개발 효율이 향상된다.
DI방식 내에는 생성자 생성방식과 프로퍼티 생성방식 두가지가 있는데 주로 프로퍼티 생성방식을 많이 사용한다.
DI를 XML로 설정하기 위한 기본 골격은 다음과 같다.
<bean id = "빈이름" class = "완전한 클래스이름">
<property name = "프로퍼티 이름" value = "프로퍼티 값"/>
<property name = "프로퍼티 이름" ref = "다른 빈 식별자"/>
<bean/>
<bean id = "빈 식별자1" class = "완전한 클래스 이름">
<constructor-arg><value>인자값</value></constructor-arg>
<constructor-arg ref = "다른 빈 식별자"/>
</bean>
위와 같은 방식으로 설정을 하면된다.
'Spring' 카테고리의 다른 글
Spring(6) - 스프링 MVC프로젝트 (0) | 2019.04.12 |
---|---|
Spring(5) - AOP(관점지향프로그래밍) (0) | 2019.04.10 |
Spring(4) - 빈의 생명주기와 범위 (0) | 2019.04.10 |
Spring(3) - @Autowired, @Resource 사용하기 (0) | 2019.04.09 |
Spring(1) - Spring과Maven (0) | 2019.04.09 |