· 블로그의 목적
- 스프링 프레임 워크에 대해서 간단하게 알아본다.
· 스프링 프레임 워크에 대해서 알아보자. ^^
- 스프링 프레임 워크 1.0
- 첫번째 버전은 2004년 3월에 릴리즈 됨.
- 스프링은 10년 넘게 JAVA 어플리케이션을 구축하는 데 기준이 되는 프레임 워크
- 스프링 프레임워크가 제공하는 것은?
- 최신 JAVA기반 엔터프라이즈 애플리케이션을 위한 포괄적인 프로그래밍 및 구성 모델을 제공한다.
- 참고페이지
- 위 참고페이지를 가면 아래 내용이 실시간으로 주르륵(?) 나온다. ^^;
- Spring makes Java simple / modern / productive / reactive / cloud-ready .
- 직독직해 하자면,
- 스프링은 만든다 / 자바를 / 단순 / 현대적 / 생산적 / 반응적/ 클라우드 지원...
- 다시 정리해서 요약하자면,
- 스프링은 자바를 단순하고, 현대적이고, 생산적이고, 반응적이고, 클라우드 지원하게 만드는 것이라고 설명할 수 있을까? ^^ 암튼 그렇다..
- 위 참고페이지는 또 아래와 같이 말하고 있다.
- Why Spring?
- Spring makes programming Java quicker, easier, and safer for everybody. Spring’s focus on speed, simplicity, and productivity has made it the world's most popular Java framework.
- 이번에는 그냥 해석해 보자.^^
- Spring은 모든 사람을 위해서 Java 프로그래밍을 더 빠르고 쉽고 안전하게 만듭니다. Spring은 속도, 단순성 및 생산성에 중점을 두어 한국뿐만아니라, 전세계에서 가장 인기있는 Java 프레임 워크가 되었다고 하네요..^^
- 그럼, 스프링 프레임워크의 주요 사용 목적은?
- 애플리케이션의 여러부분을 연결하는 데 필요한 모든 기술을 제공하고 전담처리하는 것.
- 즉, 프로그래머는 오직 비즈니스 로직개발업무에만 집중할 수 있는 장점 제공.
· 스프링 프레임 워크가 인기있는 이유는?
- 스프링 프레임 워크가 2004년 3월에 릴리즈 되고 나서, 그 후 10년 동안 꾸준히 인기를 끔.
- 스프링 프레임 워크의 특징은 아래와 같음
- 하나, 단순화된 단위 테스팅
- 둘, 복잡한 코드 감소
- 셋, 아키텍처의 유연성
- 넷, 변화하는 시대를 선도
- 아래에서 자세히 알아보자 ^^;
· 단순화된 단위 테스팅
- 스프링 프레임워크는 의존성 주입 개념을 도입함.
- 의존성을 자신의 mock 로 쉽게 대체함으로 단위 테스팅을 가능하게 했음.
- 즉, 단위 테스트를 위해 전체 어플리케이션을 배포할 필요가 없음.
· 복잡한 코드 감소
- 스프링 프레임워크는 프로그래머가 비즈니스 로직을 작성하는 프로그래머의 주된 업무에 집중할 수 있게 해줌.
- 복잡한 코드를 피하는 것은 코드의 중복을 줄이는 또 다른 이점이 존재함.
- 트랜잭션 관리, 예외처리 등과 같은 모든 코드가 한곳에서 구현되므로 유지관리가 더 쉽게됨.
· 아키텍처의 유연성
- 스프링 프레임워크는 모듈식.
- 핵심 스프링 모듈 위에 구축된 독립적인 모듈 세트로 구축 됨.
- 대부분의 스프링 모듈은 독립적 특징을 가짐.
- Web Layer
- 스프링은 독자적인 프레임 워크인 Spring MVC 를 제공함.
- but, 스프링은 스트럿츠, 바딘, JSF or 원하는 웹 프레임워크를 지원함.
- Spring Beans
- 비즈니스 로직을 위한 경량 구현체를 제공함.
- but, EJB와도 통합될 수 도 있다고 함.
- Data Layer
- 스프링은 Spring JDBC 모듈을 사용해 JDBC 를 단순화 함.
- but, 스프링은 JPA(Java Persistence API), 하이버네이트(JPA의 유무와 관계없다고함) or ibatis와 같이 원하는 Data Layer Framework를 지원한다고 함.
- Spring AOP 를 사용해서 횡단 관심(Logging/Transaction/Security등등)을 구현할 수 있음.
- AspectJ와 같이 완벽하게 구현된 AOP 구현과 통합도 가능하다고 함.
- 스프링 프레임워크는 애플리케이션의 서로 다른 부분들 간의 결합을 줄이고, 이를 테스트 할 수 있게 만드는 핵심 작업에 중점을 두면서 사용자가 선택한 Framework와 훌륭한 통합을 제공함.
- 즉, 아키텍처에 융통성이 있다는 것을 의미함.
· 변화하는 시대를 선도
- 스프링 프레임워크는 애플리케이션을 테스트 할 수 있게 만드는데 중점.
- but, 스프링 프레임워크는 제공되는 유연성과 모듈로 시대를 앞서가고 있음.
- 예시)
- 애플리케이션을 특정 구현과 분리하기 위해 JAVA EE보다 많은 추상화를 도입함.
- JAVA EE보다 앞서 Spring MVC 용 어노테이션기반 컨트롤러 모델을 선보임.
- 기타등등.
- 스프링 프로젝트 그룹이 존재함.
- Spring Framework 는 스프링 프로젝트의 많은 프로젝트 중 하나일 뿐.
- 아키텍처가 클라우드 및 마이크로서비스로 진화함에 따라 새로운 클라우드기반 스프링 프로젝트가 많이 나타남.
- 스프링 클라우드
- 마이크로서비스의 개발 및 배포를 단순화하는데 많은 기여를 함.
- 스프링 클라우드 데이터 플로
- 마이크로서비스 애플리케이션과 관련된 오케스트레이션을 제공함.
· 결론
- 스프링 프레임워크가 제공하는 것은 최신 JAVA기반 엔터프라이즈 애플리케이션을 위한 포괄적인 프로그래밍 및 구성 모델을 제공하고 있음.
- 스프링 프레임워크의 주요 사용 목적은 애플리케이션의 여러부분을 연결하는 데 필요한 모든 기술을 제공하고 전담하면서, 프로그래머는 오직 비지니스 로직 개발에만 전념할 수 있도록 해주는 것이 목적임.
- 스프링 프레임워크의 특징은 아래와 같음(아래 특징으로인해 현재까지 사랑받는 프레임워크가 됨)
- 하나, 단순화된 단위 테스팅
- 둘, 복잡한 코드 감소
- 셋, 아키텍처의 유연성
- 넷, 변화하는 시대를 선도
- 오늘도 Spring Framework 가 무엇인지 대한 마술(?) 한가지 획득완료, 감사합니다. ^^
오늘의 명언 한마디
- 모든게 변한다. 시간이 고무줄처럼 늘어났다가 줄어든다. 아무일도 안일어나는 것 같다가 돌연 마구잡이로 터진다.
- 그러다 또 아무일도 안일어난다. 죽음에 이르는 과정은 함께 길을 걷다 헤어지는 것과 같다.
- 우리는 나란히 길을 걷거나 한 사람이 앞서고, 나머지가 뒤따르며 걷는다.
- 갈림길에 이르러서 우리는 한동안 서성거린다. 그러다 한사람이 몸을 틀고 한쪽 길을 따라 걸어가면 남은 사람은 고개를 숙이며 배웅한다.
- 우리는 그 사람이 가는 모습을 지켜보며 손을 흔들고 이름을 부른다. 하지만 그는 고개를 돌리지 않는다.
- 그들은 세상 돌아가는 이야기도, 당신의 직장이나 아이들 이야기도 더 이상 나누고 싶어하지 않는다.
- 그냥 홀로 걸어가는 것 말고는 아무것도 하지 않는다.
- 샐리 티스테일 지음, "인생의 마지막 순간에서" 중에서..
오늘의 영어 한마디
- More smoke is flowing from the house.
- 더 많은 연기가 흘러나오고 있다. / 그 집에서
- 해설
- "from" 은 연기가 나는 출처를 표시함.
- "from" 은 무엇이 어디서 나왔는지 출처, 기원(origin)을 표시함
'좋아하는 것_매직IT > 1.spring' 카테고리의 다른 글
5.Spring, 의존성 주입에 대해서 이해한번 해봅시다. ^^ (0) | 2021.01.02 |
---|---|
4.Spring, 스프링 프레임워크 5.0 의 새로운 기능에 대해서 알아볼까요?^^ (0) | 2021.01.02 |
3.Spring, 스프링 프로젝트에는 어떤것이 있을까요? ^^ (0) | 2021.01.01 |
2.Spring, 스프링 프레임워크의 모듈은 어떤것이 있을까? (0) | 2021.01.01 |
1.Spring, 도대체 무엇이 스프링 프레임워크일까? ^^ .. 한번 간단하게 알아보자! (0) | 2021.01.01 |