길민호(ethan.mino)
코딩수첩
길민호(ethan.mino)
전체 방문자
오늘
어제
  • 분류 전체보기 (215)
    • Computer Science (0)
    • Web (6)
      • CSS (0)
      • HTML (0)
    • Node.js (0)
    • Javascript (2)
    • Java (46)
      • Spring (27)
      • Jsp (0)
    • C\C++ (2)
    • Programming (0)
    • AI (0)
    • Database (7)
    • Git (5)
    • Algorithm (119)
      • Stack (0)
      • Queue (0)
      • Linked List (0)
      • Sort (0)
      • Simulation (27)
      • Recursion (0)
      • Backtracking (4)
      • Two Pointer (3)
      • Dynamic Programming (19)
      • Greedy (10)
      • Graph (3)
      • Dijkstra (1)
      • BFS\DFS (8)
      • Floyd (1)
      • MST (4)
      • Tree (4)
      • Binary Search (8)
      • Binary Search Tree (4)
    • IntelliJ (4)
    • Vscode (0)
    • Operating System (0)
    • 후기 (3)
    • 성장일지 (13)
    • 스터디 (7)
    • 설치 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ㅡ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
길민호(ethan.mino)

코딩수첩

Spring Framework란?
Java/Spring

Spring Framework란?

2020. 7. 11. 06:17

1. Spring Framework란?

  • 엔터프라이즈급 어플리케이션을 구축할 수 있는 가벼운 솔루션이자, 원-스탑-숍(One-Stop-Shop)
  • 원하는 부분만 가져다 사용할 수 있도록 모듈화가 잘 되어 있다.
  • loC 컨테이너이다.
  • 선언적으로 트랜잭션을 관리할 수 있다.
  • 완전한 기능을 갖춘 MVC Framework를 제공
  • AOP를 지원
  • 스프링은 도메인 논리 코드와 쉽게 분리될 수 있는 구조로 되어 있다.

 

2. 프레임 워크 모듈

  • 스프링 프레임워크는 약 20개의 모듈로 구성되어 있다.
  • 필요한 모듈만 가져다 사용할 수 있다.

3. AOP와 인스트루멘테이션(Instrumentation)

  • spring-AOP : AOP 얼라이언스(Alliance)와 호환되는 방법으로 AOP를 지원.
  • spring-aspects : AspectJ와의 통합을 제공
  • spring-instrument : 인스트루멘테이션을 지원하는 클래스와 특정 WAS를 사용하는 클래스로 더 구현체를 제공. 참고로 BCI(Byte Code Instrumentations)는 런타임이나 로드(Load) 때 클래스의 바이트 코드에 변경을 가하는 방법을 말한다.

4. 메시징(Messaging)

  • spring-messaging : 스프링 프레임워크 4는 메시지 기반 어플리케이션을 작성할 수 있는 Message, MessageChannel, MessageHandler 등을 제공한다. 또한, 해당 모듈에는 메소드에 메시지를 맵핑하기 위한 어노테이션도 포함되어 있으며, Spring MVC 어노테이션과 유사하다.

5. 데이터 엑세스(Data Access) / 통합(Integration)

  • 데이터 엑세스/ 통합 계층은 JDBC, ORM, OXM, JMS 및 트랜잭션 모듈로 구성되어 있다.
  • spring-jdbc : 자바 JDBC 프로그래밍을 쉽게 할 수 있도록 기능을 제공한다.
  • spring-tx : 선언적 트랜잭션 관리를 할 수 있는 기능을 제공한다.
  • spring-orm : JPA, JDO 및 Hibernate를 포함한 ORM API를 위한 통합 레이어를 제공
  • spring-oxm : JAXB, Castor, XMLBeans, JiBX 및 XStream과 같은 Object/XML 맵핑을 지원
  • spring-jms : 메시지 생성(producing) 및 사용(comsuming)을 위한 기능을 제공, Spring Framework 4.1부터 spring-messaging 모듈과의 통합을 제공

6. 웹(Web)

  • 웹 계층은 spring-web, spring-webmvc, spring-websocket, spring-webmvc-portlet 모듈로 구성된다.
  • spring-web : 멀티 파트 파일 업로드, 서블릿 리스너 등 웹 지향 통합 기능을 제공한다. HTTP 클라이언트와 Spring의 원격 지원을 위한 웹 관련 부분을 제공.
  • spring-webmvc : Web-Servlet 모듈이라고도 불리며, Spring MVC 및 REST 웹 서비스 구현을 포함한다.
  • spring-websocket : 웹 소켓을 지원.
  • spring-webmvc-portlet : 포틀릿 환경에서 사용할 MVC 구현을 제공.

 

참조 URL

  • https://www.edwith.org/boostcourse-web/lecture/20655/

'Java > Spring' 카테고리의 다른 글

Spring JDBC  (0) 2020.07.12
Spring IoC/DI 컨테이너  (0) 2020.07.11
pom.xml  (0) 2020.07.11
Maven이란?  (0) 2020.07.10
스웨거 (Swagger)란?  (0) 2020.07.01
    'Java/Spring' 카테고리의 다른 글
    • Spring JDBC
    • Spring IoC/DI 컨테이너
    • pom.xml
    • Maven이란?
    길민호(ethan.mino)
    길민호(ethan.mino)
    💻 호기심 많은 서버 개발자 길민호입니다.

    티스토리툴바