본문 바로가기

Programming

[Spring] 이제 시작인가...

반응형

새로운 회사에 들어 와 새로운 프레임워크를 사용하게 되었습니다.

이미 많이 사용하고 있는 Spring Framework 3 입니다.

한달이 다 되어 가지만 기본 구조도 제대로 모른체 끼어 맞추기 식으로 계속 코딩을 해 왔습니다.

일정을 길게 잡고 해도 눈치가 보이고 스스로 기분이 안 좋아 졌습니다.

내가 이 정도 밖에 안 되나? 라는 생각을 많이 하게 됩니다.

그래서 회사에 있던 '스프링 인 액션' 책을 펼쳤습니다.

책을 읽으면서 정리할 것을 간단히... 아주 간단히 정리해 보려고 합니다.

혼자 맘 내키면 하는거라 언제 정리를 안 하게 될지는 모르겟으나.. 일단 시작합니다.


1. Bean or Java Bean

두개는 같은 말이며 자바에서 컴포넌트를 가르키는 말이다.


2. POJO (Plain-Old Java Object)

기타 다른 것 등을 사용하지 않은 평범한 자바 객체


3. DI (Dependency Injection) - 종속객체 주입

A Class 에서 B Class의 객체를 생성하여 사용하고 있다고 가정하자. 결합도가 높아지며 단위 테스트에도 어려움이 생긴다.

B Class의 객체 생성을 A Class 내부에서 하지 않고 application context 등에서 해준다.

A Class에서 B Class의 객체를 필요로 할때 자동으로 생성해 준다.

결합도를 낮추고 단위 테스트가 쉽게 해준다.


4. 와이어링 (wiring)

애플리케이션 컴포넌트 간의 관계


5. 애플리케이션 컨텍스트 (application context)

빈에 관한 정의를 바탕으로 객체 생성과 와이어링을 책임진다


6. AOP (Aspect Oriented Programming) - 관점지향 프로그래밍

로직과는 상관없는 로깅 같은 코드가 많은 부분에 들어 가 있을 것 이다.

코드를 일차원적인 흐름에서 보는게 아니라 옆면에서 보는 것과 비슷하다

여러 위치에서 수행되는 동일한 코드를 외부에서 정의하여 수행할 수 있도록 해준다.


7. pointcut

AOP 에서 사용하는 용어이다.

junit 에서 when과 비슷하다고 판단된다.

특정 코드를 실행할 위치라고 보면 될것 같다.


8. spring container

spring framework에서 사용되며 객체의 라이프 사이클을 관리한다.

객체 생성에서 부터 소멸까지의 과정을 관리 한다.

DI를 이용해서 컴포넌트를 관리한다.


9. 빈팩토리 (org.springframework.beans.factory.BeanFactory)

spring container 중 하나.

DI에 대한 기본적인 지원을 제공하는 가장 단순한 container.


10. 애플리케이션 컨텍스트 (org.springframework.context.ApplicationContext)

프로퍼티 파일에서 메시지를 읽어서 이벤트 발행 같은 프레임워크 서비스를 제공하는 container.


11. ClassPathXmlApplicationContext / FileSystemXmlApplicationContext / XmlWebApplicationContext

ApplicationContext 파일을 읽어 오는 방법이 다른 3가지 클래스


12. ORM (Object-Relational Mapping) - 객체 관계 매핑

객체와 테이블을 매핑하여 사용할 수 있게 해주는 도구


오늘은 여기 까지...; 



반응형