상세 컨텐츠

본문 제목

[스프링] 스프링의 특징

Backend

by choiDev 2019. 10. 15. 16:33

본문

프레임 워크란? 

"뼈대나 근간을 이루는 코드들의 묶음"이라고 지칭할수 있습니다. 프레임 워크를 사용한다는 것은 어떤 작업을 할지 미리 컨셉이 정해져 있는 것이고 그 안에 개발자들은 컨셉에 맞게 코드를 추가하는 방식으로 개발을 한다는 것입니다.


스프링의 주요 특징

  • POJO 기반의 구성
  • 의존성 주입(DI)를 통한 객체 간의 관계 구성
  • AOP(Aspect-Oriented-Programming)지원
  • 편리한 MVC 구조
  • WAS의 종속적이지 않은 개발 환경

POJO(Plain Old Java Object) 기반의 구성

스프링의 성격 자체가 가벼운 프레임워크지만, 그 내부에는 객체간의 관계를 구성할 수 있는 특징을 가지고 있습니다. 스프링은 다른 프레임워크 들과 달리 이 관계를 구성할 때 별도의 API 사용하지 않는 POJO의 구성만으로 가능하도록 제작되어있습니다.

이 특성으로 인해 개발자는 특정한 라이브러리나 컨테이너의 기술에 종속되지 않고 개발이 가능합니다. 종속성이 떨어짐은 조금 더 개발에 유연성을 더해 줍니다.

의존성 주입(DI)를 통한 객체 간의 관계 구성

스프링은 의존성 주입인 구조를 만들기에 적합한 구조로 설계되어 있습니다. 'ApplicationContext'라는 존재가 필요한 객체를 생성하고, 필요한 객체들을 주입하는 역할을 해 주는 구조입니다. 스프링에서는 ApplicationContext가 관리하는 객체들을 'Bean'이라는 용어로 부르고, 빈과 빈 사이의 의존관계를 처리하는 방식으로 XML 설정, 어노테이션 설정, Java설정 방식을 이용할 수 있습니다.

AOP의 지원

대부분의 시스템이 공통으로 가지고 있는 보안이나 록, 트랜잭션과 같이 비즈니스 로직은 아니지만, 반드시 처리가 필요한 부분을 횡단 관심사라고 합니다. 스프링은 이런 횡단 관심사를 분리하여 제작하는 것이 가능하며 AOP(Aspect Oriented Programming)는 이러한 횡단 관심사를 모듈로 분리하는 프로그래밍의 패러다임입니다. 이로 인해 얻어지는 이점은 1)비즈니스 로직만 집중 가능, 2)코드 수정 최소화, 3)유지보수가 수월합니다.

트랜잭션의 지원

스프링은 트랜잭션의 관리를 어노테이션이나 XML로 설정 가능하여 개발자가 매번 상황에 맞는 코드를 작성할 필요가 없도록 설계되어있습니다.

 

 

'Backend' 카테고리의 다른 글

[Spring Boot]MVC 와 MVC2 패턴이란?  (0) 2023.12.19
[Flyway] 설정하기  (0) 2023.04.10
[Java8] Stream이란  (0) 2022.06.22
스프링 빈 (Spring Bean) & 자바 빈 (Java Bean)  (0) 2022.05.29
[스프링] Apache Tomcat (아파치 톰캣)  (0) 2019.10.21

관련글 더보기