Opinionated
'자기 주장이 강한'이라는 의미를 갖는 이 용어는 SpringBoot의 Concept로 볼 수 있다.
SpringBoot는 매번 Servlet을 띄워야하는 Spring의 문제점을 해결하려고 탄생한 Framework이다.
이런 Containerless 성질뿐만 아니다.
개발자가 개발에 집중할 수 있도록 기본적인 가이드(?), 로드맵(?)을 제공하고있다.
Spring Framework의 설계 철학
- 극단적으로 유연하다.
- 의존성 주입 (Dependency Injection, DI)
- 관점지향 프로그래밍 (Aspect-Oriented Programming, AOP)
- IoC(Inversion of Control) Container
- 다양한 모듈, 확장성, ...
- 다양한 관점을 수용한다
- 웹 개발, 보안, 트랜잭션 관리, 테스트, ...
- Not Opinionated
- 다양한 선택지를 다 허용한다.
- 개발자가 프로젝트 구조를 설계 해야 함.
Spring Boot Framework의 설계 철학
Not Opinionated → Opinionated
- 전문간의 의견을 기반으로 스프링을 잘 활용할 수 있는 방법을 제공한다.
- Spring Boot에서 제공하는 방법대로 빠르게 개발할 수 있도록 한다.
- 광범위한 Spring의 진입장벽을 많이 개선시켜주는 방법
- Starter 패키지
Out of the box : 별다른 설정 없이 즉시 사용 가능한
- 표준 자바 기술, 의존관계, 사용버전
- 각 기술을 스프링에 적용하는 방식(DI 구성)
- 디폴트 설정값 제공
커스터마이징을 하거나 코어 기술을 업그레이드 시?
호환성 문제, 프레임 워크 자체의 수정의 문제가 발생
유연한 확장
properties, yaml 과 같은 외부 설정 파일로 유연한 확장이 가능하다.
@Configuration 어노테이션으로 커스텀 구성 클래스를 만들어 사용할 수 있다.
'SpringBoot > 이해와 원리' 카테고리의 다른 글
Containerless와 독립 실행형 프로그램(standalone application) (0) | 2024.03.04 |
---|