[Spring 공부일지] Spring은 뭘까?

최원석·2024년 7월 29일

Spring 공부

목록 보기
1/5

Spring…?

  • Java의 웹 프레임워크로 java를 기반으로 작동한다.
  • Spring은 다른 사람의 코드를 참조하기 쉽고 편리한 구조, JSP, Mybatis, JPA 등 Java을 이용한 기술들을 더 쉽게 사용해주는 오픈소스

즉! Spring FrameWork, Spring Boot등을 모두 포함하고 있는 집합을 뜻함

Spring Framework / Spring Boot / Spring Data / Spring Security / Spring Batch


Spring FrameWork

“Provides core support for dependency injection, transaction management, web apps, data access, messaging, and more.”

❓ Frame Work(프레임워크)..? 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 쉽게 해결하기 위한 약속이자 도구. 프레임워크는 자주 사용하는 기능들을 한데 모아 놓은 유틸(클래스)들의 모음이다.

Spring FrameWork의 특징

1. IoC

Inversion ofControl, 제어 반전

  • 개발자는 Java를 통한 작업을 할때 new 연산자 / 인터페이스 / 데이터 클래스 호출을 하며 객체를 생성 혹은 소멸 시킨다. 이때, 갹체의 생성부터 소멸을 개발자가 아닌 스프링컨테이너가 대신해 주는 것이 IoC이다.
  • 제어권은 IoC에 있다.(개발자에게 없음)

2. DI

Dependency Injection, 의존성 주입

  • 프로그램 구성 요소의 의존관계가 소스코드 내부가 아닌 외부의 설정 파일을 통해 정의 되는 방식이다.
    → 코드 간의 재사용을 높이며, 소스코드를 다양한 고에 사용하여 모듈 간의 결합도를 낮출 수 있다.

3. AOP

Aspect Object Programming, 관점 지향 프로그래밍

  • AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 구분하여 재사용성을 높여주는 프로그램이 기법이다.
  • 로깅, 트랜잭션, 보안 등 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리 할 수 있다.

4. POJO

Plain Old Java Object

  • POJO는 Java EE를 사용하면서 해당 플랫폼에 종속되어 있는 무거운 객체들을 만드는 것에 반발하여 나타난 용어

Spring FrameWork의 구조

Core Container

코어 컨테이너는 Beans, Core, Context, SpEL로 구성

  • Core
  • Bean
  • Context
  • SpEL

Data Access/Integration

JDBC, ORM, OXM, JMS 및 트랜잭션 모듈로 구성.

다영한 형태의 데이터에 접근할 수 있기위한 모듈들의 모음

  • JDBC
  • ORM
  • Transaction

Web

Web, Web Servlet, Web Sockets로 구성

Web Application을 빌드할 때 사용

  • Web
  • Web Servlet
  • Web Sockets

https://docs.spring.io/spring-framework/docs/4.0.x/spring-framework-reference/html/overview.html


2개의 댓글

comment-user-thumbnail
2024년 8월 4일

이 시리즈 보고 공부하면 나도 스프링 고수 ?

답글 달기
comment-user-thumbnail
2024년 9월 9일

이 시리즈 보고 공부하면 유엠씨 합격?

답글 달기