S사의 협력사인 우리 회사는 파트너사 자격으로 S사에서 진행하는 온라인 강의를 수강할 수 있는 기회를 가졌습니다.
다양한 강의들이 있었고 6가지 강의를 신청했지만 모두 탈락되었고, 5월에 다시 1개의 강의를 신청하여 수강할 수 있게 된 강의가 바로 스프링 프레임워크 강의입니다
원래는 객체지향을 먼저 다진 후에 복습하려고 했던 스프링이지만, 5월 안에 수강하여야 되기에,, 순서가 약간 거꾸로지만 선행 및 병행 학습 하면서 가보도록 하겠습니다!
01강 스프링 프레임워크 개요
-
- 개요 : EJB를 주 프레임워크로 사용할 때 불편했던 점들을 보완하여 나타남
- 2002년 로드 존슨이 출판한 도서 J2EE 디자인 앤 개발에 선보인 코드가 스프링에 근간이 됨
이걸 기반으로 로드 존슨의 허가를 받은 뒤에 프레임워크로 발전 시킴
2003년 6월 Apache 2.0 라이센스로 최초 공개되었음
- 2002년 로드 존슨이 출판한 도서 J2EE 디자인 앤 개발에 선보인 코드가 스프링에 근간이 됨
- 스프링 프레임워크란?
- 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크.
기업용. Production을 위해 적합하다고 볼 수 있음!
- 애플리케이션 프레임워크란 : 특정 계층이나 기술 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크를 말함.
- 경량급 프레임워크 : 단순한 웹 컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용할 수 있음.
- 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크.
- 스프링 프레임 워크 특징
- 엔터프라이즈 개발을 용이하게 해줌
: 개발자가 복잡하고 실수하기 쉬운 로우레벨에 많이 신경쓰지 않으면서
비즈니스 로직 개발에 힘쓸수 있음. - 컨테이너 역할.
: Spring 컨테이너는 Java 객체의 라이프 사이클을 관리하며, 컨테이너가 객체를 관리.
중요하고 자주 쓰이는 객체들을 개발자가 아닌 스프링에서 관리하도록 하여 편리하게 해줌. - DI (Dependency Injection) 지원
: Spring 은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있습니다. - AOP 지원.
: 핵심 코어 기술과 주변 기술을 따로따로 개발하여 런타임 시 결합하여 주며
어플리케이션을 단순하게 만들어주고. 생산성과 전체적인 유지보수를 포함한 여러 품질을 좋게 만들어주는 고급 기술. - POJO (Plain Old Java Object) 지원
: Spring 컨테이너에 저장되는 Java객체는 특정한 인터페이스를 구현하거나,
특정 클래스를 상속받지 않아도 됩니다. - 트랜잭션을 지원.
- 영속성(Persistence)를 지원
- 위 두 가지는 시스템 서비스라고 하는데 서비스를 관리하기 쉽게 추상화 시켜놓음.
- (컨테이너 제공) (AOP 지원) (서비스를 추상화 시킴)
- 엔터프라이즈 개발을 용이하게 해줌
- 스프링의 주요 모듈
: 스프링은 범용 엔터프라이즈급 어플리케이션을 지양하기 때문에
여러 가지 모듈을 가지고 있고 현재도 계속해서 모듈이 추가되고 있습니다.
- 크게 Data Access 영역 / Web 영역 / Core Container
- Data Access 영역(데이터연동모듈)
: 기본적으로 Transactions 모듈을 기반으로 하고 있으며
Datasource 기능과 메시지 서비스, ORM, XML 매핑 등 NoSQL 을 다루는 모듈로 제공하고 있음 (대표적으로 MongoDB나 Redis) - Web 영역
: 엔터프라이즈 급 기능은 보통 웹 기반이기 때문에 상당히 중요함
J2EE 스펙을 지원하며 POJO 지양함.
Servlet 과 Web 을 추상화 시켜 놓은 느낌 - Core Container
: 주요한 객체들. 컨테이너에 올라가면 Bean 이라고 부르는 객체들을 관리함.
- Data Access 영역(데이터연동모듈)
- 크게 Data Access 영역 / Web 영역 / Core Container
- 스프링을 지원하는 툴
- Spring Tool Suite
: 기존에는 플러그인 형태로 스프링이 지원되었지만 스프링을 위한 이클립스 툴이 별도로 STS 가 있음 - IntelliJ IDEA by JetBrains
: IDE 전용 개발 회사 JetBrains 에서 만듬. 안드로이드 스투디오도 구글이 JetBrains 로 외주 맡겨서 만들었다고 함.
- Spring Tool Suite
- 개요 : EJB를 주 프레임워크로 사용할 때 불편했던 점들을 보완하여 나타남
'Room 102. Back-end > Spring' 카테고리의 다른 글
[실전 개발자를 위한 Spring Framework ] 강의 - MVC 패턴 (0) | 2020.05.28 |
---|---|
[실전 개발자를 위한 Spring Framework ] 강의 - 계층 구조 (0) | 2020.05.25 |
[실전 개발자를 위한 Spring Framework ] 강의 - DI 개념 (0) | 2020.05.25 |
[실전 개발자를 위한 Spring Framework ] 강의 - IoC (0) | 2020.05.24 |
[실전 개발자를 위한 Spring Framework ] 강의 - Maven (0) | 2020.05.19 |