1. Spring Framework란?
- JAVA 엔터프라이즈 개발을 편하게 해주는 옾느소스 경량급 애플리케이션 프레임워크이다.
- 엔터프라이즈 개발 용이 => 개발자가 복잡하고 실수하기 쉬운 Low level(보안, 인증, Tx 처리 등)에 신경쓰지 않으면서 비지니스 로직 개발에 전념할 수 있도록 해줌.
1-1. Spring Framework 전략
1) Portable Service Abstraction (서비스 추상화)
트랙잭션 추상화, OXM(Object XML Mapping) 추상화, 데이터 액세스의 Exception 변환기능 등 기술적인 복잡함은 추상화를 통해 Low level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분리함.
2) 객체지향과 DI(Dependency Injection)
객체지향에 충실한 설계가 가능하도록 단순한 객체 형태로 개발할 수 있고, DI는 유연하게 확장 가능한 객체를 만들어 두고 그 관계는 외부(컨테이너)에서 동적으로 설정해준다.
3) AOP (Aspect Oriented Programming)
핵심 로직을 담당하는 코드에 남아 있는 기술 관련 코드를 분리해서 별도의 모듈로 관리하게 해주는 기술.
4) POJO (Plain Old JAava Object)
일반적인 자바 객체. 특정 환경이나 규약에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 객체.
2. Spring Framework 특징
2-1 컨테이너 역할
Spring 컨테이너는 Java 객체의 LifeCycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다.
2-2 DI
Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있도록 하고 있다.
2-3 AOP
Spring은 트랜잭션이나 로깅, 보안과 같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈(비지니스로직)에서 분리해서 적용할 수 있다.
2-4 POJO 지원
Spring 컨테이너에 저장되는 Java객체는 특정 인터페이스를 구현하거나, 특정 클래스를 상속받지 않아도 됨.
2-5 트랜잭션 처리를 위한 일관된 방법을 지원
JDBC, JTA 등 어떤 트랜잭션(Commit, rollback)을 사용하던 설정(XML, Annotation)을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드 사용가능.
2-6 Persistence(영속성)과 관련된 다양한 api 지원
MtBatis, Hibernate 등 데이터베이스 처리를 위한 ORM(Object Relational Mapping) 프레임워크들과의 연동 지원
3. Spring 프레임워크 기능요소
'국기훈련과정 > Spring' 카테고리의 다른 글
[인강정리] 03. IoC 컨테이너와 DI (0) | 2021.12.24 |
---|---|
[인강정리] 02. Spring 시작하기 (0) | 2021.12.24 |
05. MyBatis DB연동하기 (0) | 2021.12.23 |
04. Spring MVC project 생성과 설정 (0) | 2021.12.23 |
03. MyBatis 기초 (0) | 2021.12.23 |