SpringBoot #1.1 - 스프링 역사, 의존성
![post-thumbnail](https://velog.velcdn.com/images/onetuks/post/bbfac9e5-d2c9-40a2-8c36-45bae2ac1977/image.png)
Spring Framework
- 다른 모든 spring 프로젝트들의 근간
- 기능
- Core Technologies
- Testing
- Data Access
- Spring MVC
- integration
- Language
Spring Boot
- 시스템을 사용 가능한 상태로 만드는 것
- 기능
- Spring Application 을 통한 손쉬운 실행
- Auto Configuration
- 쉬운 외부 환경 설정 - Properties, YAML, Command line 설정 등
- 프로파일을 통한 실행환경 관리
- Packaging Executable Jar
- Developer Tools 제공
Spring Framework 핵심 개념
Domain Driven Design
- 도메인 주도 설계
- 도메인 : 어플리케이션을 사용하는 영역 (비즈니스)
Entity
- 다른 entity와 구별할 수 있는 식별자 가짐 →
개별성
- 시간 흐름에 따라 지속적으로 변경되는 객체
Value Object
- 고유한 불변객체
- 각 속성이 개별적으로 변화하는 게 아니라, 값 그자체.
의존성 관리
의존성
- 객체가 다른 객체를 필요로 할 때 의존성 발생
- 실행시점, 구현시점에 서로 다른 의미
- 컴파일타임 의존성
- 코드를 작성하는 시점에서 발생하는 의존성. → 클래스 간 의존성
- 런타임 의존성
- 애플리케이션 실행 시점의 의존성 → 객체 간 의존성
- 컴파일타임 의존성 → 런타임 의존성 지향