티스토리 뷰

Framework/Spring

[Spring] Spring Framework란

DUCKBAE's 2022. 6. 12. 23:03

자바 플랫폼을 위한 오픈 소스 어플리케이션 프레임워크로서 스프링(Spring)이라고도 한다.

 

특징

  • 경량 컨테이너로서 자바 객체(Bean)를 직접 관리한다.
    각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
  • POJO(Plain Old Java Object) 방식의 프레임워크이다.
  • IoC(Inversion of Control)을 지원한다.
    컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다.
  • DI(Dependency Injection)을 지원한다.
    각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
  • AOP(Aspect-Oriented Programming)을 지원한다.
    따라서 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.
  • 영속성과 관련된 다양한 서비스를 지원한다.
    iBATIS나 Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.
  • 확장성이 높다.

 

모듈

출처: https://docs.spring.io/spring-framework/docs/5.0.0.M3/spring-framework-reference/html/overview.html

Core Container

  • Core : IoC, DI 기능을 제공한다.
  • Beans : BeanFactory를 제공한다.
  • Context : 모든 객체에 접근하는 방법을 제공한다. ApplicationContext 인터페이스는 Context 모듈의 주요 부분이다.
  • SpEL(Spring Expression Language) : 런타임에 객체를 조작하는 방법을 제공한다.

 

Data Access/Integration

  • JDBC : JDBC 추상 계층을 제공한다.
  • ORM : JPA 및 Hibernate 등과 같은 객체 관계형 매핑 API를 위한 통합 계층을 제공한다.
  • OXM : JAXB, XMLBeans 등과 같은 Object/XML 매핑 API를 위한 추상 계층을 제공한다.
  • JMS : 메세지 처리기능을 제공한다.
  • Transaction : POJO 등과 같은 클래스에 대한 트랜잭션 관리 기능을 제공한다.

 

Web

  • servlet(web-mvc) : 웹 어플리케이션을 위한 MVC, REST 웹 서비스 구현을 포함한다.

 

AOP

메소드 인터셉터를 정의하는 기능을 제공하는 측면 지향 프로그래밍 구현을 제공한다.

 

Test

Junit 또는 TestNG 프레임워크를 사용하여 단위 테스트 및 통합 테스트를 지원한다.

 

 

참고

https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%94%84%EB%A7%81_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

 

스프링 프레임워크 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

https://www.w3schools.blog/spring-architecture-modules

 

Spring framework architecture modules

Spring framework architecture. Spring modules. Spring framework architecture diagram. Learn spring framework architecture online.

www.w3schools.blog

https://docs.spring.io/spring-framework/docs/5.0.0.M3/spring-framework-reference/html/overview.html

 

2. Introduction to the Spring Framework

The Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application. Spring enables you to build applications from "plain old Ja

docs.spring.io

 

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

[JPA] View Table  (0) 2022.07.28
[JPA] Composite Key  (0) 2022.07.22
[Spring] JUnit  (0) 2022.07.20
[Spring] EnvironmentPostProcessor  (0) 2022.07.13
[Spring] AOP  (0) 2022.06.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함