스프링 프레임워크란 ?
Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임 워크
애플리케이션 프레임워크
특정 계층이나 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크를 말한다.
경량급 프레임워크
단순한 웹 컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용할 수 있음.
엔터프라이즈 개발 용이
개발자가 복잡하고 실수하기 쉬운 Low Level에 많이 신경 쓰지않으면서 Business Logic 개발에 전념할 수 있게 해준다.
오픈소스
spring은 OpenSource의 장점을 충분히 취하면서 동시에 OpenSource제품의 단점과 한계를 잘 극복함
Spring Framework 특징
컨테이너의 역할
Spring 컨테이너는 java객체의 Life Cycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다.
DI(Dependency Injection) 지원
Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있도록 하고 있다.
AOP(Aspect Oriented Programming) 지원
Spring은 트랜잭션이나 로깅, 보안과 같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈에서 분리해서 적용할 수 있다.
POJO(Plain Old Java Object)지원
Spring 컨테이너에 저장되는 Java객체는 특정한 인터페이스르 구현하거나, 특정 클래스를 상속받지 않아도 된다.
트랜잭션 처리를 위한 일관된 방법을 지원
JDBC, JTA 등 어떤 트랜잭션을 사용하던 설정을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드르 사용 가능.
영속성(Persistence)과 관련된 다양한 API 지원
Spring은 MyBatis, Hibernate 등 데이터베이스 처
리를 위한 ORM(Object Relational Mapping) 프레임워크들과의 연동 지원
스프링의 주요 모듈 목록
Data Access/Integration
- JDBC
- ORM
- OXM
- JMS
- Transactions
Web
- Web Socket
- Servlet
- Web
- Portlet
Core Container
하부를 지탱하는 주요한 객체(=Bean)를 관리해줌
- Beans
- Core
- Context
- SpEL
스프링 지원 IDE
- STS (Spring Tool Suite)
- IntelliJ IDEA, by JetBrains
- 더욱 주목 받고 있음.(대기업 개발자들이 많이 쓴다.)
Spring을 잘 한다는 것은 Tool을 얼마나 잘 쓰는냐도 중요하다. (기능이 많기 때문)
'Spring > [강의] Spring FrameWork' 카테고리의 다른 글
[Spring 6강] - Layered Architechture (0) | 2021.02.16 |
---|---|
[Spring 강의 5장] - Dependency Injection (0) | 2021.02.16 |
[Spring 4강] IoC(Inversion of Control) (0) | 2021.02.15 |
[Spring 3강] - 스프링과 메이븐(Maven) (0) | 2021.02.04 |
[Spring 2강] - 스프링과 메이븐(Maven) (0) | 2021.02.01 |