[Spring Core] Spring Framework 소개
[Spring Framework]
Spring Framework
: 웹 애플리케이션 개발을 위한 여러 Framework들 중 하나
Spring Framework 장점
1. POJO(Plan Old Java Object)기반의 구성
2. DI(Dependency Injection) 지원
3. AOP(Aspect Oriented Programming, 관점지향 프로그래밍) 지원
* 위의 3가지는 게시물 참고
4. Java 언어를 사용함으로써 얻는 장점
: 정적 타입의 언어로서 변수의 타입,메서드의 입력과 출력이 어떤 타입을 가져야 하는지를 강제하기 때문에 여러 사람이 함께 작업하거나 다른 사람의 코드 혹은 내 코드를 수정/보완할 경우 용이하며, 웹 서버 구축에 있어 런타임에 발생하는 오류를 사전에 방지할 수 있음
* 객체 지향 설계 원칙에 맞는 재사용과 확장이 가능한 애플리케이션 개발 스킬 향상이 가능
* 보다 나은 성능과 서비스의 안전성이 필요한 복잡한 기업용 엔터프라이즈 시스템을 제대로 구축하기 위한 능력을 기를 수 있음
Spring을 사용 이유
도입 순서 : JSP >> Servlet >> Spring MVC >> Spring Boot
- Spring Framework이 도입되기 전에는 JSP나 Servlet 기술을 사용한 Model1, Model2 아키텍쳐를 기반으로 한 Java 웹 애플리케이션을 제작
* Servlet은 Sptring MVC 같은 자바 기반의 웹 애플리케이션 내부에서는 여전히 사용
- Spring MVC 방식이 도입됨으로써 Java 웹 애플리케이션의 제작 방식이 획기적으로 변경
- Spring MVC 설정의 복잡함과 어려움을 극복하기 위해 Spring Boot이 탄생 (Spring 복잡한 설정 마저도 Spring이 대신 처리를 해줌으로서 개발자는 핵심 비즈니스 로직에만 집중하면 됨)