Spring에 대해(1)

suhan cho·2022년 3월 6일
0

EJB에 관해

Java EE(Java Platform Enterprise Edition)은 간편하고 견고하며 확장가능 안전한 서버측 자바 애플리케이션을 위한 산업 표준. Servlet,JSP등 기능 제공

이외

  • JMS(Java Message Service) 비동기 메세지 처리
  • JDBC(Java Database Connectivity) 데어터 베이스 처리용 API
  • JTA(Java Transaction API) 분산 트랜젝션 지원
  • JNDI(Java Naming and Directory Interface) 디렉토리 서비스
  • Java Mail API 메일지원

등 있으며 이중 EJB는 분산 애플리케이션을 지원하는 컴포넌트 객체다.
(Servlet이 TOMCAT같은 Servlet Container에 올려서 서비스 하듯 EJB는 JBoss와 같은 EJB Container에 올려 서비스한다)

JPA란

Spring의 역사

  • 코드 존슨의 J2EE책 출간
  • EJB없이도 고품질 확장 가능 애플리케이션 개발할 수 있음을 증명
  • BeanFactory, ApplicationContext, POJO, 제어의 역전,의존관계 등 있음
  • 책 출간 이후 유겐휠러, 얀카르포와 오픈소스 프로젝트 제작
  • 스프링 핵심 코드의 대부분이 유겐휠러가 개발
  • EJB라는 겨울을 넘어 새로운 시작이라는 뜻으로 Spring이라 작명

Spring이란

스프링 데이터: CRUD편리하게 사용할 수 있게 도와주는 것
스프링 세션: 세션 기능
스피링 시큐리티: 보안
스프링 Rest Docs: API와 문서를 편하게 엮어서 API를 편하게 해줌
스프링 배치: 예를 들어 테스트를 할 때 천만건의 데이터를 몇건 씩 나누어 처리하고 저장하는 걸 도와주는 기술
스프링 클라우드: 클라우드

Spring FrameWork

  • 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타
  • 웹기술: 스프링MVC, 스프링 WebFlux
  • 데이터 접근 기술: 트랜잭션, JDBC, ORM지원, XML지원
  • 기술 통합: 캐시, 이메일, 원격접근, 스케줄링
  • 테스트: 스프링 기반 테스트 지원
  • 언어: 코틀린, 그루비

Spring Boot

  • 스프링을 편하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
  • 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
  • Tomcat같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
    (예전에는 스프링 프로젝트 빌드된걸 Tomcat서버에 넣고 띄우고 복잡 부트는 빌드하고 띄우는거까지 자체적으로 됨)
  • 손쉬운 빌드 구성을 위한 starter 종속성 제공
  • 스프링과 3rd parth(외부) 라이브러리 자동 구성
    (스프링프레임워크 버전에 따라 JSON이나 외부 라이브러리 잘맞고 안맞는게 따로 있었음 부트는 외부라이브러리 버전에 관해 크게 고민하지 않아도 된다)
  • 메트릭, 상태확인, 외부구성같은 프로덕션 준비 기능 제공
  • 관례에 의한 간결한 설정

Spring 단어?

  • 스프링이라는 단어는 문맥에 따라 다르게 사용 됨
    • 스프링 DI컨테이너 기술
    • 스프링 프레임워크
    • 스프링 부트, 스프링 프레임워크 모두 포함한것

Spring을 만든 이유

  • 스프링은 자바 언어 기반의 프레임워크
  • 자바 언어의 가장 큰 특징 - 객체 지향 언어
  • 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크
profile
안녕하세요

0개의 댓글