Anzeige
Anzeige

Más contenido relacionado

Similar a 스프링!=스프링부트(20)

Anzeige

Último(20)

스프링!=스프링부트

  1. Spring Boot != Spring 1 2023-02-24 권능
  2. Types of Frameworks 2
  3. Timeline 3 2014 2009 2007 2006 2004 1999 1997 1995 1989 Website의 첫 등장 100만번째 도메인 등록 Spring 등장 스프링 3.5 스프링 4.0 스프링부트 1.0 등장 Java등장 EJB등장 스프링 2.0 스프링 3.0
  4. 4 CGI and Servlet CGI Servlet
  5. Timeline 5 2014 2009 2007 2006 2004 1999 1997 1995 1989C Website의 첫 등장 100만번째 도메인 등록 Spring Framework 등장 스프링 3.5 스프링 4.0 스프링부트 1.0 등장 Java등장 EJB등장 스프링 2.0 스프링 3.0
  6. 7 AOP IoC/DI POJ O
  7. Servlet Configuration 8
  8. Spring Container 9 /user/register /user/login /promotion
  9. Spring Container 10
  10. POJO vs. JavaBean 11
  11. Spring Boot 12
  12. Spring Boot 13 Spring Boot makes it easy to create stand-alone, production- grade Spring based Applications that you can "just run".
  13. Features 14
  14. Containerless 15 Auto Config
  15. Configuration 16
  16. 17 Opinionated
  17. Opinionated 18

Hinweis der Redaktion

  1. 스프링을 공부하다 보면 한번씩은 스프링과 스프링부트의 차이점이 뭔가요? 라는 질문을 받습니다.
  2. 스프링은 동적인 웹 애플리케이션을 개발하기 위해 사용되는 다양한 프레임워크 중 Java기반의 프레임워크입니다. 그 외 노드JS 기반의 express, 파이썬 기반의 장고라는 대표적인 프레임워크들이 존재합니다.
  3. 스프링과 스프링부트에 대해 이야기하기 전에 인터넷의 등장 이후, 1989년에 처음으로 Website라는 개념이 등장하였고 1997년에 100만번째 도메인이 등록됩니다. 이 시기에 인터넷과 가정용 PC가 보급되면서, 웹 사용자가 급격히 증가하게 되었습니다. 이때 당시 웹에 CGI(Common Gateway Interface)라는 기술이 사용되고 있었는데 멀티쓰레드를 지원하지 않아 증가한 사용자수를 감당할 수가 없었습니다. 마침 1995년에 등장했던 Java는 멀티쓰레드를 지원했고, 자연스럽게 웹 개발에 Java의 Servlet 기술이 도입되기 시작했습니다.
  4. 1999년도에 Servlet을 확장시킨 EJB(Enterprise JavaBeans)라는 대기업용 서버 애플리케이션 스펙이 출시되었지만 사용법이 너무 복잡하다는 단점을 가지고 있었습니다. 스프링 출시 당시, “복잡할 필요가 없다. 개발자의 봄(Spring)이 찾아왔다”라며 당당하게 등장하였는데 그렇다면 스프링은 EJB에 비해 무엇이 더 좋았으며, 스프링 첫 출시이후 10년만에 등장한 스프링부트는 스프링과 무엇이 달랐을까요?
  5. 스프링 프레임워크는 Java기반의 프레임워크로서 동적인 웹 애플리케이션을 개발하기 위한 다양한 기능을 제공하고 있습니다. 스프링의 특징으로는 POJO, DI, IoC, AOP 등이 있습니다. 오늘날의 Enterprise Java Beans는 Spring의 종속성 주입 및 POJO 사용에서 많은 부분을 차용합니다. 첫 번째 이정표 릴리스는 2004년에 출시되었으며 EJB 모델과 중량급 컨테이너에 대한 대안을 제공했습니다. Spring 덕분에 이제 Java 엔터프라이즈 애플리케이션을 더 가벼운 IOC 컨테이너 에서 실행할 수 있습니다 . 또한 무수히 많은 유용한 기능 중에서 종속성 반전, AOP 및 Hibernate 지원도 제공했습니다. Java 커뮤니티의 막대한 지원으로 Spring은 이제 기하급수적으로 성장했으며 완전한 Java/JEE 애플리케이션 프레임워크라고 할 수 있습니다. 또 다른 분파인 Spring Boot는 임베디드 서버와 자동 구성을 갖춘 완전한 게임 체인저입니다.
  6. 스프링 프레임워크는 Java기반의 프레임워크로서 동적인 웹 애플리케이션을 개발하기 위한 다양한 기능을 제공하고 있습니다. 스프링의 특징으로는 POJO, DI, IoC, AOP 등이 있습니다. 오늘날의 Enterprise Java Beans는 Spring의 종속성 주입 및 POJO 사용에서 많은 부분을 차용합니다. 첫 번째 이정표 릴리스는 2004년에 출시되었으며 EJB 모델과 중량급 컨테이너에 대한 대안을 제공했습니다. Spring 덕분에 이제 Java 엔터프라이즈 애플리케이션을 더 가벼운 IOC 컨테이너 에서 실행할 수 있습니다 . 또한 무수히 많은 유용한 기능 중에서 종속성 반전, AOP 및 Hibernate 지원도 제공했습니다. Java 커뮤니티의 막대한 지원으로 Spring은 이제 기하급수적으로 성장했으며 완전한 Java/JEE 애플리케이션 프레임워크라고 할 수 있습니다. 또 다른 분파인 Spring Boot는 임베디드 서버와 자동 구성을 갖춘 완전한 게임 체인저입니다.
  7. 왼쪽의 경우 순수 Servlet 기반의 WAS 설정입니다. 보시다시피 각 url별로 일일이 mapping을 해주어야하는 반면, 스프링 프레임워크의 경우 모든 요청을 DispatcherServlet에게 위임하고, 스프링 컨테이너 내부에서 처리되도록 하고 있습니다. 그렇기 때문에 스프링의 경우 웹애플리케이션에 변경이 있어도 스프링 프레임워크 내부에서만 관리하면 될 수 있었습니다. 즉 개발자의 WAS에 대한 부담을 크게 줄여주었습니다.
  8. WAS를 수정할 일이 없어짐.
  9. 스프링부트라는 대안이 나오게 된 배경은 한 개발자의 “Containerless 웹 어플리케이션 아키텍쳐 지원”이라는 요청에서 부터 시작되었습니다. 부트가 출시되기 전, 2010년 초반에는 node.js나 python 기반의 프레임워크 같이, 비교적 간편하고 빠르게 애플리케이션을 작성할 수 있는 툴이 인기가 있었습니다. 스프링 개발자들도 자연스럽게 비슷한 환경에서 개발할 수 있길 원했고, 몇가지 사항을 제안하였습니다.
  10. 사실 스프링부트를 개발한 개발자들도 스프링부트가 정확히 무엇이다 라고 정의하진 않았습니다. 스프링부트 공식 문서에는 복잡한 고민없이 빠르게 스프링 기반 애플리케이션 개발을 시작할 수 있는 도구라는 특징으로 내세우고 있습니다.
  11. 스프링 웹 어플리케이션을 실행시키기 위해선 어쩔 수 없이 Servlet Container가 무조건 존재해야합니다. 이것이 생각보다 간단하지는 않습니다. web.xml설정, war파일로 변환할 때 패키지 구조를 지켜주어야합니다. 배포도 별도로 진행해야하고, 상세한 설정을 해주어야합니다. containerless 환경을 지원하기전에는 “HelloWorld” 문자열만 보여주는 간단한 웹 프로그램도 무조건 이런 서버를 구성해주어야만 했습니다. 이런 굉장히 번거로운 과정을 생략할 수 있게 되었습니다. containerless ≠ no servlet container Servlet Container를 아예 사용하지 않아도 된다는 아니지만, 설치하고, 관리하고 학습해야하는 개발자의 수고를 제거해주게 되었습니다. 스프링부트를 이용하면 Servlet Container의 초기 실행까지 모두 처리해줍니다.
  12. 간단히 보여주기
Anzeige