JavaStudy/Spring

오브젝트와 의존관계

LeeDaniel 2018. 2. 19. 14:04

DAO (Data Access Object)

DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트

 

 

자바빈 (Java Bean)

두가지 관례를 따라 만들어진 오브젝트

 

1. 디폴트 생성자

   :자바빈은 파라미터가 없는 디폴트 생성자를 갖고 있어야한다

    툴이나 프레임워크에서 리플렋견을 이용해 오브젝트를 생성하기 때문이다

 

2. 프로퍼티

   :자바빈이 노출하는 이름을 가진 속성을 프로퍼티라고 한다

    프로퍼티는 set으로 시작하는 수정자 메소드(setter)와

    get으로 시작하는 접근자 메소드(getter)를 이용해 수정 또는 조회할 수 있다

 

 

리팩토링 (Refactoring)

기존의 코드를 외부의 동작방식에는 변화없이 내부구조를 변경해서 재구성하는 작업

 

메소드 추출 (Extract Method)

중복된 코드를 뽑아내는 것

 

템플릿 메소드 패턴 (Template Method Pattern)

슈퍼클래스에 기본적인 로직의 흐름을 만들고

그 기능의 일부를 추상메소드나 오버라이딩이 가능한 protected메소드 등으로 만든뒤

서브클래스에서 이런 메소드를 필요에 맞게 구현해서 사용하도록 하는 방법

 

팩토리 메소드 패턴 (Factory Method Pattern)

서브클래스에서 구체적인 오브젝트 생성 방법을 결정하게 하는 방법

 

(Bean)

스프링이 IoC방식으로 직접 생성과 제어를 담당하는 오브젝트

 

빈 팩토리 (BeanFactory)

스프링의 IoC를 담당하는 핵심 컨테이너

빈을 등록, 생성, 조회, 리턴, 관리하는 기능을 담당

보통은 빈 팩토리를 바로 사용하지 않으며 이를 확장한 애플리케이션 컨텍스트를 이용한다

 

애플리케이션 컨텍스트 (ApplicationContext)

빈 팩토리를 확장한 IoC컨테이너

기본적인 기능은 빈 팩토리와 동일, 여기에 스프링이 제공하는 각종 부가서비스를 추가로 제공

ApplicationContext는 BeanFactory를 상속한다

 

설정정보/설정 메타정보

애플리케이션 또는 빈 팩토리가 IoC를 적용하기위해 사용하는 메타정보

 

컨테이너/IoC컨테이너

애플래케이션 컨텍스트 또는 빈 팩토리를 말한다

컨테이너라는 말 자체가 IoC의 개념을 담고있다

 

스프링 프레임워크

IoC컨테이너, 애플리케이션 컨텍스트를 포함해서 스프링이 제공하는 모든기능을 통틀어 말한다

 

반응형