스프링 프레임워크의 특징에 관해 설명해보세요.

Enterprise 개발을 쉽고, 편리하게 개발할 수 있도록 지원해주는 오픈소스 프레임워크로 경량급 애플리케이션 프레임워크라고도 한다.

  • Spring Framework 특징

- Enterprise Application에서 필요로 하는 기능 제공

- 경량(lightweight) 애플리케이션 컨테이너

- Dependency Injection[DI] 지원 : 의존성 주입, 설정 기반으로 주입 기능(의존성), 지역변수가 없다.

- Aspect Oriented Programming[AOP] 지원

- Plain Old Java Object[POJO] 지원 : 특정 라이브러리에 전혀 (상속)받지 않은 Object, 즉 어떤 환경에서든 사용할 수 있다. 재사용성이 극대화된다. 단위 테스트 용이

- 트랜잭션 처리를 위한 일관된 방법 제공 : 트랜잭션 매니저를 통해 트랜잭션을 설정만 하면 트랜잭션이 관리되는 코드를 내부적으로 관리한다.

- 영속성과 관련된 다양한 API 지원 및 연동 지원

  • Spring Framework 장점

개발자들이 개발하고자 하는 애플리케이션 로직 개발에만 집중할 수 있다. 기술에 대한 접근 방식이 일관성이 없거나, 특정 환경에 종속적이지 않기 때문에 서버 등의 실행 환경이 바뀌어도 코드까지 수정할 필요가 없다. 또한 다른 Framework와 연동해서 쓸 수 있어 확장성이 좋다.

현재 실무에서는 Spring Framework를 기반으로 한 Spring Boot 3.x가 사실상 표준으로 자리잡았다. Spring Boot는 내장 서버(Tomcat·Jetty)와 자동 설정(Auto Configuration)을 통해 별도의 XML 설정 없이도 빠르게 애플리케이션을 구동할 수 있다는 것이 가장 큰 특징이다. 또한 Spring Cloud 생태계와 연동하여 MSA 환경에서 서비스 디스커버리·로드밸런싱·회로차단기(Circuit Breaker)·API 게이트웨이 등의 기능을 손쉽게 구현할 수 있다. 삼성SDS·카카오·네이버 등 국내 주요 IT 기업들이 Spring Boot 기반의 마이크로서비스를 운영하고 있다.

시스템설계

시스템 아키텍처에 대해 설명해보세요.

시스템설계

MVC1과 MVC2 패턴의 차이를 설명해보세요.

커뮤니티 Q&A

이론과 관련된 게시글이에요.

이해가 안 되거나 궁금한 점이 있다면 커뮤니티에 질문해 보세요!

게시글 작성하기