본문 바로가기
코딩/Spring

[Spring] 스프링의 이해와 핵심 기능 알아보기

by 인생최적화 2020. 6. 17.
반응형

 

스프링을 알아보고 핵심기능 살펴보기

 


 

 

스프링 프레임워크의 핵심 기능이라고 하면 Dependency Injection(DI) 종속성 주입과 Transaction Management 트랜젝션 관리가 있습니다 .

이 두가지의 기능은 일반적인 소프트웨어 개발에서는 그다지 중요하지 않지만 엔터프라이즈(EE) 어플리케이션을 만들 때는 굉장히 중요한 부분을 담당합니다. 하지만 EE버전은 트랜젝션 관리가 어려웠던 부분들이 있었는데 그것을 스프링이 깔끔하게 제공해주기 시작합니다. 단순하게 라이브러리만 사용하는 방식으로 작업을 처리하고 DI를 같이 쉽게 구현할 수 있게 해줌으로써 모듈 결합을 굉장히 쉽게 해줍니다

그리고 EE에디션이 갖고 있었던 모든 기능을 스프링이 커버하기 시작했습니다. 자바 스탠다드에디션(SE)에 스프링을 얹어서 사용하기 시작하고 EE영역을 스프링으로 바꿨기 때문에 대부분 자바 SE와 스프링을 엮어서 기업형 어플리케이션을 만들고 있습니다. 그래서 자바 엔터프라이즈 에디션이 필요가 없어지게 된겁니다.

 



자바 엔터프라이즈 에디션이 사라지진 않았습니다. 스프링으로 인해서 관심이 없어지기 시작했고 스프링이 가지고 있는 주무기가 요즘에는 엔터프라이즈 에디션에도 많이 반영이 되어서 엔터프라이즈 에디션으로 웹개발, 데이터베이스 처리하는게 오히려 스프링보다 쉽기도 합니다. 하지만 유료화라는 부분과 스프링 작업이 이미 개발자들 사이에서 익숙해졌기 때문에 엔터프라이즈 에디션은 아직 관심이 많이 약한게 사실입니다.

아직까지 자바 스탠다드에디션에 스프링을 얹어서 사용할지, 스탠다드에디션에 엔터프라이즈 에디션을 합쳐서 사용할지 선택은 가능하지만 요즘까지도 자바로 웹개발을 한다라는 건 자바 스탠다드 에디션과 스프링을 합쳐서 작업을 한다고 볼 수 있습니다.

 


 

 

느슨한 결합력과 인터페이스

결합력이 높다는 것은 코드 수정을 해야할 때 코드를 직접 수정하는 것을 뜻합니다. 소스코드 없이 소스를 바꿀 수 있으면 결합력이 낮은 것입니다. 인터페이스를 사용함으로써 결합력을 낮출 수는 있습니다. 소스코드를 변경하더라도 원본은 변함없기 때문입니다. 그리고 객체 생성과 조립을 위한 XML, Annotation을 통한 외부 설정을 추가하면 됩니다.

기업형 어플리에키션을 만들게 되면 다양한 레이어를 만들게 되는데 그것의 유지보수 방식으로 소스코드를 직접 수정해야 한다면 소스코드가 항상 있어야 하고, 소스코드를 계속 열었다가 배포하고 이런 작업도 위험부담이 있습니다 그것을 대체하는 방법으로 외부 설정 파일이 필요한 것입니다. 그 역할의 대표적인 것이 Dependency Injection(DI), Inversion of Control(IoC)입니다.

 

 

스프링은 소스들을 결합할 때 필요한 외부 설정 파일을 제공하고 객체를 결합해주는 역할을 합니다.

 


 

자기계발하는 개발자

'인생최적화'

 

 

반응형

'코딩 > Spring' 카테고리의 다른 글

[Spring] MyBatis & MariaDB 연동하기  (6) 2020.06.29
[Spring] 스프링 DI & IoC 이해하기  (12) 2020.06.22
[Spring] 스프링 STS 설치  (2) 2020.06.13

댓글