Spring : 스프링 프레임 워크 (Spring Framwork)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크
- 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공
- 특징
경량 컨테이너 ( 스프링=“객체를 담고 있는 컨테이너” ) |
객체의 생성과 소멸과 같은 라이프사이클 관리 → 언제든 필요한 객체를 가져다 사용할 수 있게 해줌 |
IoC (Invertion of Control: 제어 역행) https://hyunc87.tistory.com/10 |
의존성 주입을 통해 객체간의 결합도를 낮추어 코드 재사용성을 향상시키고, 단위테스트를 용이하게 할 수 있도록 해줍니다. |
Di (Dependency Injection: 의존성 주입) | 반복되는 코드들(Boilerplate code/ Plumbing code)을 제거함으로써 개발자가 비즈니스 로직에만 집중할 수 있도록 합니다. |
Intergration with Other Frameworks 다른 프레임워크와의 통합 |
다른 프레임워크(해당 기능에서의 최선의 방법으로 구현된 프레임워크나 모듈들)와 통합 → 개발자가 비즈니스 로직외에 신경 써야 할 부분을 덜어줌 → 생산성 향상 |
AOP (Aspect-Oriented Programming: 관점지향 프로그래밍) https://devlog-wjdrbs96.tistory.com/398 |
문제를 바라보는 관점을 기준으로 프로그래밍하는 기법 → 문제를 해결 위해 → 핵심 관심사항 & 전체에 적용되는 공통관심 사항을 기준으로 프로그래밍 |
Spring Boot : 스프링 프레임워크의 복잡한 환경 설정을 보완 → 스프링 프레임워크를 사용하기 위한 설정의 많은 부분을 자동화
- Auto Configuration - 자동 설정
개발자에게 필요할 것 같은 빈(Bean)들을 추측하고 설정
http://melonicedlatte.com/2021/07/11/232800.html
→ 빈(Bean) : Spring IoC 컨테이너가 관리하는 자바 객체를
2. Easy dependency Management - 쉬운 의존성 관리
Spring-boot-starter | (spring-boot-starter-web한 줄만 적어주면 web과 관련된 의존성들을 추가할 수 있음 |
io.spring.dependency-management | dependency-management 한 줄의 의존성으로 버전을 충돌 없이 관리할 수 있음 |
3. Embedded Servlet Container Support - 내장 서블릿 컨테이너(내장 서버)
자바 | (웹 어플리케이션이 압축된)war파일과 (프로그램을 실행시킬)WAS가 필요 |
스프링 부트 | omcat이나 Jetty같은 내장 서버를 가지고 있음 → jar파일로 배포할 수 있게 됨 따라서 Spring Boot로 개발한 프로젝트를 배포하기 위해서는 단순히 → jar파일만 필요 함 |
'공부 > 자료조사' 카테고리의 다른 글
Getter / Setter 를 사용하면 어떤점이 좋고 나쁠까? (0) | 2022.04.01 |
---|---|
Maven vs Gradle (0) | 2022.03.29 |
DNS의 원리 (0) | 2022.03.27 |
restAPI의 put 과 patch 는 어떤 차이점이 있을까요? (0) | 2022.03.26 |
Controller, Service, Repository 가 무엇인가요? (0) | 2022.03.24 |