[Spring 핵심원리 기본편] 객체 지향 설계와 스프링
by mini_min김영한 스프링 핵심원리 강의 시작 ! 🔥
스프링 생태계
필수 : 스프링 프레임워크, 스프링 부트
선택 : 스프링 데이터, 세션, 시큐리티, Rest Docs, 배치, 클라우드
스프링 프레임워크
핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타
웹 기술: 스프링 MVC, 스프링 WebFlux
데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원
기술 통합: 캐시, 이메일, 원격접근, 스케줄링
테스트: 스프링 기반 테스트 지원
언어: 코틀린, 그루비
스프링 부트
스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본적으로 사용한다.
단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성한다.
Tomcat 과 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 된다.
손쉬운 빌드 구성을 위한 starter 종속성을 제공한다.
스프링과 3rd parth 라이브러리를 자동 구성한다.
메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능을 제공한다.
관례에 의한 간결한 설정이 가능하다.
스프링 핵심 ✨
스프링은 자바 언어 기반의 프레임워크이다. 자바 언어의 큰 특징인, 객체 지향 언어의 강력한 특징을 살려내는 프레임워크다. 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크다.
객체 지향 프로그래밍
컴퓨터 프로그램을 목록이 아닌, 객체들의 모임으로 파악하고자 하는 것이다. 객체는 메시지를 주고 받고, 데이터를 처리할 수 있다. 프로그램을 유연하고 변경이 용이하게 만들어서 대규모 소프트웨어 개발에 많이 사용된다.
유연과 변경 용이
컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법이다.
= 다형성!
역할과 구현으로 구분하면 세상이 단순, 유연, 편안해진다.
클라이언트는 구현 대상의 내부 구조, 구현 대상 자체를 변경해도 영향을 받지 않는다.
자바에서 다형성을 활용하여, 역할은 '인터페이스'로 , 구현은 인터페이스를 구현한 '클래스' 또는 '구현 객체'로 설계한다.
객체를 설계할 때 역할과 구현을 명확히 분리한다.
다형성의 본질
클라이언트를 바꾸지 않고, 서버의 구현 기능을 유연하게 변경할 수 있다.
즉, 인터페이스를 안정적으로 잘 설계하는 것이 가장 중요하다 ✨ 다형성이 가장 중요하다고 볼 수 있음...! 스프링은 다형성을 극대화하여 이용할 수 있게 도와준다!
'Spring' 카테고리의 다른 글
[Spring 핵심원리 기본편] 비즈니스 요구사항과 회원 도메인 설계/개발 (0) | 2023.05.20 |
---|---|
[Spring 핵심원리 기본편] 객체 지향 설계와 스프링 2 (0) | 2023.05.20 |
[김영한 스프링 강의] JDBC, JPA, AOP 개념 (0) | 2023.05.15 |
[김영한 스프링 강의] H2 데이터베이스 설치 (0) | 2023.05.13 |
[김영한 스프링 강의] 스프링 빈과 의존관계 (0) | 2023.05.12 |
블로그의 정보
개발자 미니민의 개발로그
mini_min