프로그래밍/Web

Spring 특징

국윤창 2018. 1. 21. 06:58

1. POJO (Plain Old Java Object)

특정한 API(Servlet 등)를 상속, 구현하지 않고 개발할 수 있어서 이식성이 좋다.


2. AOP(Aspect Oriented Programming)

관점 지향 프로그래밍이다. 무슨 말인지 와닿지는 않는다.

객체지향 프로그래밍으로 모듈화를 해도 프로그램이 커지면 이런 모듈간에도 중복된 코드가 생긴다. 이것을 횡단 관심사 (Crosscutting-Concerns)라고 하는데 이걸 없애는게 AOP 목표다.


참고: http://3months.tistory.com/74 (예제 코드 및 설명)


3. DI (Dependency Injection)

객체간의 의존성을 외부에서 주입한다. 이말이 좀 어려운데 환경설정만으로 기능을 다르게 해서 소스코드의 변경을 최소화할 수 있는 것을 말한다.


참고: http://jhleed.tistory.com/61 (예제 코드 및 설명)


4. IoC(Inversion of Controller)

스프링은 IoC 컨테이너를 지원함. 스프링은 프로그램의 흐름을 프레임워크가 담당한다. 이것을 지원함으로써 위의 DI가 가능해진다고 한다.

자세한 건 더 공부해야한다.


참고하면 좋음: http://isstory83.tistory.com/91 (예제 코드 및 설명)


위의 네가지를 이용하여 자바 개발을 간소화하는 것이 스프링 프레임워크의 핵심이다.