728x90
Spring Frame Work은 무엇일까?
Spirng은 IOC 기반의 Framework입니다. Framework는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것을 의미합니다.
즉, 우리는 Spring Frame Work을 통해 효율적으로 코드를 작성할 수 있으며 정해진 규칙을 활용하여 효율적으로 관리할 수 있습니다.
Spring Frame Work의 특징
Spring Frame Work 특징은 크게 네가지 입니다.
- POJO(Plan Old Java Object)기반의 구성
- Pojo란 다른 클래스나 인터페이스를 상속/implements 받아 메서드가 추가된 클래스가 아닌 일반적으로 우리가 알고 있는 getter, setter 같이 기본적인 기능만 가진 자바 객체를 말합니다.
- 즉, 특정 기술이나 환경에 종속적이지 않은 객체를 말합니다.
- IoC/DI, AOP, PSA을 통하여 최종적으로 POJO를 달성할 수 있습니다.
- IoC(Inversion of Control) / DI(Dependency Injection) 지원
- IoC는 애플리케이션 흐름의 주도권이 바뀐것을 말합니다. 즉, 애플리케이션 흐름의 주도권을 Spring이 갖거나 개발자가 갖게되는 상황이 역전되는 것을 뜻합니다.
- DI는 의존성 주입이라고도 부르며 이 때 의존성이란 객체간의 의존성을 의미합니다.
- 즉, 생성자를 통해서 어떤 클래스의 객체를 전달받는 것을 의존성 주입이라고 합니다. 만약 필요한 객체를 내부에서 new 키워드로 생성하게 될 경우 해당 객체에 대하여 의존성이 강해지며 객체지향적 설계에 문제가 발생할 수 있습니다. 따라서 클래스간의 강한 결합을 피하고 인터페이스를 활용하여 의존성을 낮춰 객체지향적 프로그램을 완성 할 수 있습니다.
- 그리고, 이러한 의존성 주입을 Spring이 대신 해주게 됩니다.
- AOP(Aspect Oriented Programming, 관점지향 프로그래밍) 지원
- AOP는 애플리케이션의 핵심 업무 로직에서 로깅이나 보안, 트렌잭션 같은 공통 기능 로직들을 분리하는 것입니다.
- 우리는 AOP를 통해서 코드 간결성을 유지할 수 있으며 객체 지향 설계 원칙에 맞는 코드를 수현할 수 있고 코드 재사용을 통해 효율을 높일 수 있습니다.
- Java 언어를 사용함으로써 얻는 장점
- 객체 지향 설계원칙에 맞게 활용할 수 있으며 이로 인해 내가 작성한 코드를 수정 및 보완하는 것에 용이하다는 장점이 있습니다.
'Back-End > Spring' 카테고리의 다른 글
[ Spring ] 스프링 컨테이너(Spring Container)는 무엇일까? (0) | 2022.11.14 |
---|---|
[ Spring ] PSA (Portable Service Abstraction)란 무엇일까? (0) | 2022.11.14 |
[ Spring ] API 문서화와 Spring Rest Docs는 무엇일까?! (0) | 2022.11.11 |
[ Spring ] Mock이란 무엇일까? (0) | 2022.11.10 |
[ Spring ] 트랜잭션 (Trasaction)의 이해 (0) | 2022.11.04 |