본문 바로가기
ੈ✩‧₊˚Computer Science/프론트엔드 | 백엔드

Spring framework 란? / Spring framework의 장점

by 샨샨 2020. 11. 11.
반응형

Spring framework

: 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크

-동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공

-전자정부 표준 프레임워크의 기반 기술

 

 

Spring framework의 장점

1. POJO based 이다: POJO(Plain Old Java Object)를 사용한 엔터프라이즈급 애플리케이션을 개발할 수 있다.

* POJO ? 

- 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트이다.

- 상속, 인터페이스가 필요없는 아주 단순하고 가벼운 객체를 의미한다.

- 원하는 business logic만 넣을 수 있도록 돕는다.

2.Modular : 모듈화가 잘 되어있어 패키지와 클래스 수가 많아도 필요한 것만 코딩한다.

3.Web MVC : MVC 가 잘 설계되어있다.

4.JDBC, Hibernate, JPA 기술을 위한 다양한 템플릿을 제공한다.

- JDBC 템플릿을 이용하면JDBC 연결 생성, 예외 처리, 트랜잭션 커밋 등을 일반화 할 수 있어서 쿼리와 실행부분코드만 작성하면 된다.

- Spring JDBC는 반복적으로 해야 하는 많은 작업들을 대신 해준다.

- Spring JDBC를 사용할 때는 실행할 SQL과 바인딩할 매개변수를 넘겨주거나, 쿼리의 실행결과를 어떤 객체에게 넘겨 받을 지를 지정해주는 것만 하면된다.

5. Lightweight Java application framework

-메모리와 cpu가 제한된 컴퓨터에서 응용 프로그램을 개발, 배포하는데 유용하다.

- POJO기반의 enterprise application 개발을 쉽고 편하게 할 수 있다.

6.Loose coupling

-DI로 인해 느슨한 결합 지원

* DI ?

-의존관계지원

-각각의 계층이나 서비스 간에 의존성이 존재할 경우 spring이 서로 연결시켜준다.

-POJO 객체들 사이의 의존관계를 spring이 알아서 연관성을 맺어준다.

7.Ease to test

-종속적주입(DI)를 통해 쉬운 테스트 가능

8.Transaction management

- Spring은 축소와 확장할 수 있는 일관된 트랜잭션 관리 인터페이스를 제공한다.

 

Spring framework는 IOC 기반인데, IOC 가 무엇일까?

IOC (Inversion Of Control) : 제어의 역전

: 제어의 흐름을 사용자가 컨트롤 하지 않고 위임한 컨테이너에 모든 것을 맡기는 것

 

-> IOC는 DI 와 DL에 의해 구현된다.

 

DL(Dependency Lookup) - 의존성 검색

컨테이너에서는 객체들을 관리하기 위해 별도의 저장소에 bean을 저장하는데 컨테이너에서 제공하는 API 를 이용하여 사용하고자하는 bean 을 검색하는 방법

 

DI(Dependency Injection) - 의존성 주입 

의존성 주입이란 객체가 서로 의존하는 관계가 되게 의존성을 주입하는 것. 객체지향 프로그램에서 의존성 이란 하나의 객체가 어떠한 다른 객체를 사용함을 의미한다.

IOC에서의 DI란 ?

각 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해 주는 것이다.

IOC는 DI와 DL의 의해 구현됩니다.

반응형