https://windorsky.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F
di 스프링 관련 파일은 위의 티스토리에서 다운 받으셔서 세팅해 주시면 됩니다.
이전 글에서는 SETTER을 이용한 DI를 실습해 보았습니다.
이번에는 생성자를 이용한 DI기능을 실습해 보도록 하겠습니다.
person.xml을 다음과 같이 작성합니다. <bean>태그를 이용해 id가 personService1인 빈을 생성하고 <constructor-arg> 태그를 이용해 생성자 호출 시 생성자 매개변수로 <value>태그의 값을 전달하여 속성을 초기화합니다. 이처럼 PersonServiceImpl 클래스의 인자가 한 개인 생성자를 이용하여 name 속성에 <value>태그의 값이 주입됩니다. 두 번째 <bean> 태그에서는 빈 생성 시 인자가 두 개인 생성자를 호출하면서 두 개의 값을 전달하여 각각의 속성을 초기화합니다. 즉, PersonServiceImpl 클래스의 인자가 두 개인 생성자를 이용해 name과 age속성에 <value>태그의 값이 차례대로 주입됩니다.
PersonServiceImpl 클래스에서는 인자가 한 개인 생성자와 두 개인 생성자를 구현합니다.
실행 클래스인 PersonTest2를 다음과 같이 작성합니다. id가 personService1인 빈에 접근하여 sayHello() 메서드를 호출하면 age는 0으로 출력됩니다. 반면에 id가 personService2인 빈에 접근한 후 sayHello() 메서드를 호출하면 두 속성 값이 모두 출력됩니다.
main() 메서드가 있는 실행클래스가 보이는 사애에서 시행 버튼을 클릭하여 실행한 결과입니다.
'2020 > SPRING' 카테고리의 다른 글
스프링 API를 이용한 AOP 기능 구현 과정 (0) | 2020.01.07 |
---|---|
Spring AOP기능 (0) | 2020.01.07 |
회원 기능 이용해 DI 실습 (0) | 2020.01.07 |
의존성 주입(DI) setter을 이용한 방식 (0) | 2020.01.07 |
프레임워크란? (0) | 2020.01.07 |