[4.22]스프링 프레임 워크( 자바 설정을 이용한 의존성 주입 : DI + 빈 라이프사이클)
[스프링]
<<자바 설정 파일>>
<두 개 이상의 클래스를 사용하여 설정 : 환경 파일이 2개 이상임>
방법1,2
1.한 쪽 자바 설정에 @Autowired를 사용하여 다른 쪽의 자바 설정 추가
2.@Import 애노테이션을 사용 : 한 쪽 자바 설정에 @Configuration 밑에 @Import(클래스명.clas)를 입력
<자바 코드 설정과 XML 설정을 혼합하여 사용하기>
방법1,2
1. 자바 설정에서 XML 설정 임포트하기 : @Configuration밑에 @ImportResource("classpath:xxx.xml")을 사용
=> 메인클래스에서 AnnotationConfigApplicationContext(클래스명.class)사용
2. XML 설정에서 자바 설정 임포트하기 : XML 설정에서 <context:annotation-config/>태그와 <bean class="패키지명.클래스명 />를 사용
==>메인 클래스에서 GenericXmlApplicationContext("classpath:xxx.xml")사용
=============================
[빈 라이프사이클과 범위]
<스프링 컨테이너 초기화와 종료>
-컨테이너 초기화(context ctx= new ...context()) -> 빈 객체의 생성과 의존 객체 주입 및 초기화
-컨테이너 종료(ctxs.close) -> 빈 객체의 소멸
-빈 객체의 라이프사이클 : 객체생성 -> 의존 설정(<property>태그 사용) -> 초기화 -> 빈 사용 -> 소멸
-빈 객체의 초기화와 소멸 : 스프링 인터페이스 중 InitializingBean, DisposableBean 사용,
InitializingBean 인터페이스 구현 시 afterPropertySet()메서드를 반드시 사용(=빈 객체 초기화시기),
DisposableBean 인터페이스 구현 시 destroy() 메서드를 반드시 사용(=빈 객체 소멸시기).
[빈 객체의 초기화와 소멸 예제 결과]
=========================================
[플젝시]
이 홈페이지 참조
http://thisok.org/bbs/board.php?bo_table=Linux&wr_id=20
[프록시 객체]
프록시는 핵심 기능이외에 부가적인 기능. 즉, 공통 기능 구현에 집중을 한다.
핵심 기능은 각각의 특정 클래스에서 구현
-> 소스를 뜯어고치치 않고, 프록시 객체를 만들어 추가하고 싶은 부가적인 기능을 구현하면됨.(핵심 기능을 손대지 않고, 부수적인 기능을 추가함 : 프록시 패턴)
프록시 패턴 -> AOP(관점지향): 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만듬.
[우분투 12.04]
dconf-editor 사용
http://m.blog.daum.net/bagjunggyu/154
[이클립스에서 만든 프로젝트 배포]
http://attackyourheart.tistory.com/50