티스토리 뷰

POJO 클래스 다이어그램




* Hello 클래스가 StringPrinter 클래스를 바로 의존하는 것이 아닌, Printer Interface를 의존하는 형태 및 setter 방식으로 작성 예정.



Hello.class



Printer.class (Interface)



StringPrinter.class



ConsolePrinter.class



bean.xml

* 나의 해석

 - name 필드에는 Hello에서 설정한 변수의 이름을 넣는다.

 - Bean 객체 타입이 아닌 경우 value 속성 사용.

 - Bean 객체 타입인 경우 ref 속성에는 bean이름을 이용해 주입할 bean을 찾는다.

 - 해당 id의 bean은 StringPrinter bean이므로 의존 관계가 성립.



HelloTest.class

* 11행 처럼 getBean() 메서드의 아규먼트로 타입으로 지정할 오브젝트를 넘기지 않고 캐스팅 할 수 있으며, 15행과 18행 처럼 getBean() 메서드의 아규먼트로 타입으로 지정할 오브젝트를 넘길 수도 있다.


결과

* Hello Bean과 StringPrinter Bean의 값이 같다는 것으로 Spring 컨테이너가 Bean을 싱글턴 형태로 관리함을 알 수 있음.

 -> StinrgPrinter 클래스에서는 append 메소드 이후 로직을 타고 있기 때문에 싱글턴으로 관리됨을 알 수 있음.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함