Framework

멀캠교육요약 2일차-Spring,Hibernate,ibatis

MorningPhys 2015. 7. 17. 22:57

** bean의 life-cycle

- 진입점을 BeanFactory로 생성했을 경우에는 해당 Bean을 getBean하는 순간 생성된다.

BeanFactory fac = new XmlBeanFactory(new FileSystemResource("applicationContext.xml"));

A a= (A)fac.getBean("a");

 

- ApplicationContext로 생성했을 때는 Appl.이 실행되는 순간 모든 bean이 생성된다.

ApplicationContext ctx = new FileSystemXmlApplicationContext("applicationContext.xml");

A a= (A)ctx.getBean("a");

 

 

** 우리가 잘 사용하지 않았던 bean tag의 attirbute

- init-method : 해당 bean이 생성되자 마자 초기화 해주고 싶은 것이 있을 때 사용한다.

- distory-method : bean 없어질 때 호출하고 싶은 method 지정

- lazy-init : 해당 bean을 호출할 때 생성하고 싶을 때 지정한다.

- dependency : baen 생성 순서를 조정하고 싶을 때

<bean id="a" Class="A" dependency="b,c"> -> b, c 먼저 만들고 a 객체 만든다.

 

** lazy-init을 활용해 보자

- 우리 프로젝트에서 가끔 DB가 죽었을 때 WAS가 올라오면서 DataSource 못가져오니까 어플리케이션 못띄우겠다는 에러가 종종 뜬다.

- Oracle은 맨날 살아있고 죽는놈은 거의 Sybase가 죽는데 가끔 쓰는 DataSource 때문에 어플리케이션이 안뜬다니 답답했다.

- 이럴 때 Sybase DataSource 쓰는 service를 lazy-init="true"로 하면 된단다.

- 근데 전체 service를 lazy하게 띄우는 option은 없을까? 모든 개발자한테 저거 다 넣으라고 하면 욕먹을껀데...

 

** 오늘은 실습한다.

- 아마도 JDBC 날코딩 함 해보고 Spring JDBCTemplete 써보고 Hibernate 써보는 순 아닐까

 

** 실습은 Simplewiki 만들기

- 실습 코드까지 올리면 좋겠지만 나의 저작권이 아닌 관계로 Class diagram까지만 올림

** 실습 때 한 것

- 이클립스에서 Datasource exploer 사용하기

- Pure JDBC sample code만들기

- JDBC로 만들어진 DAO를 spring에서 IOC로 정의하기

- JUnit을 이용한 테스트케이스 만들고 실행하기

반응형