[Spring]
- 너무 긴 dependency.. 하나하나 다 걸어줘야한다.
- configuration 도 어떤 처리를 해줘야할지 기본설정이 매우 많다.
[Spring Boot]
- dependency 가 짧아지고 버전 관리도 권장 버전으로 자동 설정된다.
- application.properties 만 적용을 해주면 configuration 처리를 일일이 해줄 필요가 없다.
(요즘은 application.yml 파일을 더 많이 쓴다. 중복제거도 되고 뎁스로 표현할 수 있음. 인간이 읽기 좋음)
- thymeleaf도 매우 간편해짐. Prefix나 suffix설정도 이미 내장되어 있다.
- 내장서버가 있기 때문에 서버 구동 시간이 절반 가까이 단축 된다.
ㄴ 내장 서블릿 컨테이너 덕분에 jar 파일로 간단 배포
간편한 설정. 편리한 의존성 관리 & 자동 권장 버전 관리, 내장 서버로 인한 간단한 배포 서버 구축, 스프링 Security, Data JPA 등의 다른 스링 프레임워크 요소를 쉽게 사용
-> 개발자들이 개발에만 더욱 집중할 수 있도록 해주는것이 Boot의 가장 큰 장점
------------------------------------------------------------
1. Spring이란 무엇인가?
Spring Framework를 이용해서 엔터프라이즈 애플리케이션을 보다 쉽게 만들수있다.
ㄴ Spring의 가장 큰 특징 : DI와 IoC -> 객체간의 결합도를 느슨하게 만들어줄 수 있음. 단위테스트 용이. 코드 재사용성 높아짐. 생산성 높아짐
ㄴ 엔터프라이즈 애플리케이션 : 기업용이기 때문에, 트랜잭션 처리와 대규모 데이터 처리가 필요
2. Spring Boot란 무엇인가?
단독실행되는, 상용화 가능한 수준의 스프링 기반 애플리케이션을 쉽게 만들어낼 수 있다. 최소한의 설정으로 스프링 플랫폼과 서드파티 라이브러리들을 사용할 수 있도록 하고 있다.
ㄴ 최소한의 설정!
Spring 의 목표 : 개발자들이 애플리케이션을 조금 더 쉽게 만들 수 있게 해줌
Spring Boot 의 목표 : 그런 Spring을 더 사용하기 쉽게 해주는 도구
Spring이 해결하고자 하는 것 : 의존성 주입. 객체 간 결합을 느슨하게. 코드 재사용성 증가 및 단위테스트 용이. 중복된 코드 제거. 비즈니스 로직에만 집중할 수 있도록. 다른 프레임워크와의 통합
Spring Boot가 해결하고자 하는 것 : 자동설정. 쉬운 의존성 관리. 내장 서버번
ㄴ 자동 설정 : starter 의존성을 통해 간단히 설정 가능. @springBootApplication 어노테이션을 통해서 필요한 bean들을 자동으로 생성해준다.
ㄴ 쉬운 의존성 관리 : 필요한 버전을 알아서 관리해줌. Dependency management는 버전을 명시하지 않아도 알아서 맞춰서 해주고, 직접 명시할 경우에는 오버라이딩 해줌. -> 버전충돌 자연 해소손
ㄴ 내장 서버 : 애플리케이션 배포 시 복잡함을 피할 수 있게 한다. 톰캣과 같은 was에 올려두고 실행해야하는 번거로움을 줄일 수 있음. 애초에 jar파일로 배포 가능
'스터디 > 웹 프로그래밍' 카테고리의 다른 글
게이트웨이 (0) | 2020.12.10 |
---|---|
웹 서버 vs WAS (0) | 2020.11.14 |