[스프링]
스프링프레임워크는 자바 플랫폼을 위한 오픈 소스 어플리케이션으로서 간단히 스프링으로 불린다.
장점은 경량컨테이너, POJO, IOC, DI(객체간 결합 느슨), AOP(security, logging),PSA(portable service abstraction- db 연) 이다.
[스프링부트]
스프링부트는 스프링이 기능이 많은 만큼 복잡하다. 이에 어려움을 느낀 사용자들을 위해 나온것이 바로 스프링 부트이다. 스프링부트는 스프링 프레임워크를 사용하기 위한 설정의 많은 부분을 자동화하여 사용자가 정말 편하게 스프링을 활용할 수 있도록 돕는다.
스프링부트 starter 디펜던시만 추가해주면 바로 API를 정의하고, 내장된 탐캣이나 제티로 웹어플리케이션 서버를 실행할 수 있다. 심지어 스프링 홈페이지의 이니셜라이저를 사용하면 바로 실행가능한 코드를 만들어준다. 실행환경이나 의존성 관리 등의 인프라 관련 등은 신경쓸 필요 없이 바로 코딩을 시작할 수 있다.
[차이점]
1.Embed Tomcat을 사용하기 때문에, 따로 Tomcat을 설치하거나 버전 관리를 안해도 된다.
2. starter를 통한 dependency 자동화 ( starter가 대부분의 dependency를 관리해 주기 때문에 버전관리에 용이하다.)
3. xml 설정을 하지 않아도 된다.
4. jar 파일을 이용해 자바 옵션만으로 손쉽게 배포가 가능하다.
spring actuaor를 이용한 애플리캐이션의 모니터링과 관리를 제공한다.
5. 스프링 프레임워크의 경우 configuration 설정을 할 때 매우 길고, 모든 어노테이션 및 빈등록 등을 설정해 줘야 한다.
스프링 부트는 application.properties파일이나 application.yml 파일에 설정하면 된다.
6. 스프링프레임워크는 war파일을 Web Application Server에 담아 배포했다. 스프링 부트의 경우, tomcat이나 jetty같은 내장 war를 가지고 있기 때문에 jar파일로 간편하게 배포할수 있다. 스프링 프레임워크로 was를 정하고, 모든 설정을 마쳐 배포를 하는 것보다 훨 씬 간단한 배포 방법이다.(jar 파일로 프로젝트를 빌드할 수 있어, 클라우드 서비스 및 도커와 같은 가상화 환경에 빠르게 배포할 수 있다)
7. 결론은 스프링은 EJB를 대신해 자바개발을 쉽게하고, 스프링부트는 스프링을 개발자가 더욱 개발에만 집중하도록 도와주는 프레임워크이다.
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
인텔리제이 사용법 익히기 (0) | 2023.03.18 |
---|---|
인텔리제이, 스프링부트, 그래들, 코틀린과 함께 코틀린의 역사 고찰 (0) | 2023.03.14 |
스프링 버전 변경 변천사 3.0에서 6.0까지 (0) | 2023.03.14 |
스프링이전의 Java EE에 대해 알아보자 (0) | 2023.03.14 |
자바의 버전 변천사를 통한 자바 이해 (0) | 2023.03.14 |