코배스 Part1 : chapter 02
2021. 3. 26. 12:36ㆍSpring/Spring[Info]
반응형
😮 프레임워크와 라이브러리의 차이?
🗨️ 스프링 프레임워크의 간략 역사
- 프레임워크를 사용하면 일정한 품질이 보장된다.
- 개발자의 입장에서는 완성된 구조에 자신이 맡은 코드를 넣어주는 형태이므로 개발 시간을 단축
❗ 스프링의 주요 특징
1. POJO 기반의 구성
별도의 API를 사용하지 않고 관리하는 특징입니다.
일반적인 Java 코드를 이용해서 객체를 구성하는 방식을 그대로 스프링에서 사용할 수 있다는 특징이 있습니다.
2. 의존성 주입(DI)을 통한 객체 간의 관계 구성
어떤 음식점의 경우는 매일 가게를 열기 전 직접 식재료를 구하기 위해 시장을 가지만, 프랜차이즈 식당들은 본사가 트럭 등을 이용해서 식재료를 공급합니다.
위 두가지 방식의 차이는 필요한 객체를 얻기 위해서 주체가 능동적인지 수동적인지에 대한 문제입니다.
주입을 받는 입장(프랜차이즈 식당)에서는 어떤 객체인지 신경 쓸 필요가 없습니다. 주문된 객체(식재료)를 요청하면 그 역할은 변하지 않기 때문이죠.
3. AOP 지원
개발자가 비지니스 로직에만 집중할 수 있게 한다
대부분의 시스템이 공통으로 가지고 있는 보안, 로그, 트랜잭션과 같이 비지니스 로직은 아니지만, 반드시 처리가 필요한 부분을 스프링에선 '횡단 관심사'라고 합니다.
AOP(Aspect Oriented Programming)은 이러한 횡단 관심사를 모듈로 분리하는 프로그래밍 패러다임입니다.
4. 트랜잭션 지원
트랜잭션은 데이터베이스 작업시 여러 과정을 하나의 행위로 묶을 때 사용합니다.
데이터베이스의 여러 단계를 수행했을때 하나라도 실패하면 모두 취소되어야 합니다.
Spring은 이러한 트랜잭션 관리를 어노테이션이나 XML로 설정할 수 있기 때문에 개발자가 매번 상황에 맞는 코드를 작성할 필요가 없도록 설계되었습니다.
반응형