donaricano-btn

DI_2


1. Bean 정의 파일로 DI


1_1. BeanFactory

- DI 컨테이너의 핵심이 됨

- BeanFactory는 실행 시에 건네지는 Bean정의 파일(applicationContext.xml)을 바탕으로 인스턴스를 생성하고 인젝션한다

- 웹 어플리케이션 개발에 개발자가 직접 이용하는 일은 별로 없다

- ClassPathXmlApplicationContext는 BeanFactory의 상위에 있다

- BeanFactory의 이용


1) Bean정의 파일

- Bean의 정의 파일을 프로퍼티, xml, LDAP 등으로 다루지만 XML이 일반적이다

- Bean정의 파일 이용시 Setter 메소드가 필요하다

- applicationContext.xml

- ProductServiceImpl

2) Bean 정의 파일 분할

- 규모가 커질수록 빈 정의 파일을 분할 하는게 좋다

- applicationContext.xml

- applicationContext-bean.xml

- import.xml

3)  프로퍼티 파일 이용

a.  bean정의 파일 경우

- message.properties

- applicationContext.xml

- MessageServiceImpl

b. annotation  경우

- applicationContext.xml

- MessageServiceImpl


2. ApplicationContext

- ApplicationContext 는  BeanFactory를 확장Bean 정의파일 읽기, 메세지 소스, 이벤트 처리 등의 기능을 추가한것이다


2_1. Bean 정의 파일 읽기

- 웹 어플리케이션은  ContextLoaderListener 클래스나  ContextLoaderServlet 클래스에 의해 자동으로 ApplicationContext(XmlWebApplicationContext 클래스)가 로드됨

a. web.xml

b. 복수의  Bean 정의 파일

c. 웹 어플리케이션에선 ApplicationContext를 클래스에서 직접 이용할 일이 없지만 간단한 예제 어플리케이션을 만들때는 아래처럼 사용한다

    

d. ApplicationContext를 POJO로 만들어진 클래스에 직접 이용할떄

- @Autowired를 사용


3. Spring logging

- 스프링은 기본적으로 Commons Logging으로 로그를 출력함

- Log4j라이브러리가 있으면 Commons Logging이 Log4j를 사용한다

- WEB-INF 또는 클래스 패스 아래에 두면 사용가능하다

- log4j.xml


4. Spring unitTest

- DI 컨테이너로 관리하는 오브젝트를 유닛 테스트하기 위한 기능이 제공됨

- Test.java

- 데이터 베이스 테스트시 자바의 내장 데이터베이스를 사용한다

'Back-End > SpringFrame_1' 카테고리의 다른 글

[Spring] DataAccessLayer_1  (0) 2016.07.25
[Spring] AOP_2  (0) 2016.07.20
[Spring] DI_1  (0) 2016.07.16
[Spring] AOP_1  (0) 2016.07.04
[Spring]8_4 Skill of Spring  (0) 2016.02.28
블로그 이미지

리딩리드

,