[Spring] Spring Framework란 무엇인가?
Spring Framework란?
- Java 언어용 프레임워크
- 엔터프라이즈급 애플리케이션을 구축할 수 있게 해주는 프레임워크
Spring Framework의 특징
1. 경량
- 스프링은 여러개의 모듈로 구성되어 있어, 필요한 모듈을 골라쓸 수 있다. (참고 링크)
2. 의존성 주입(Dependency Injection)
- 오브젝트의 외부에서 다른 오브젝트와의 의존성을 부여하는 것. '제어의 역전' 과 직결되는 부분이다.
3. 제어의 역전(Inversion of Control)
- 필요에 따라 오브젝트의 제어권을 프레임워크가 가져가는 것. 오브젝트 간의 강한 결합을 없애고 약한 결합을 유지한다.
4. 관점지향 프로그래밍(Aspect Oriented Programming)
- 비즈니스 로직(서비스 로직)에서, 공통된 로직(횡단 관심에 해당하는 부분)을 따로 클래스로 분리하여 모듈화 할 수 있게 해주는 것
- 중복되는 코드들을 하나의 모듈로 만들 수 있기 때문에 유지보수성이 높아진다.