Spring

Spring Framework

chojdsj 2023. 8. 16. 23:52
728x90

 

Spring Framework란?

 

- 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로 간단하게 스프링(Spring)이라고도 불린다. 

 

- 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공하고 있으며 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크(Spring MVC Project 기반 프레임워크)의 기반 기술로서 쓰이고 있다.

 

 

 

Spring Framework의 특징

 

* IOC(Inversion of Control, 제어반전) *

 

- 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다는 뜻으로, 객체의 생성부터 모든 생명주기의 관리까지 프레임워크가 주도하고 있다. 객체를 생성하고, 직접 호출하는 프로그램이 아니라, 만들어둔 자원을 호출해서 사용한다.

 

 

* DI(Dependency Injection, 의존성 주입) *

 

- 설정 파일이나 어노테이션을 통해 객체간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없다.

 

 

* POJO 기반 프레임워크(Plain Old Java Object) *

 

- J2EE, EJB와 같은 특정 기술이나 라이브러리의 내용을 상속받아 클래스를 구현하지 않고, 일반적인 기본 기능만을 가진 순수한 자바 객체를 의미한다.

 

- 특정 클래스에 종속되지 않으므로 자바의 객체지향적 설계가 쉬워지고, 코드길이 감소, 유지보수성 증가, 기존 Java API, 라이브러리 지원에 용이하다.

 

 

* Spring AOP(Asepect Oriented Programming, 관점지향 프로그래밍) *

 

- 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능들을 분리하여 관리한다.

 

 

 

* Spring JDBC * 

 

- Mybatis나 Hibernate 등의 데이터베이스를 처리하는 영속성 프레임워크와 연결할 수 있는 인터페이스를 제공한다.

 

 

* Spring MVC * 

 

MVC 디자인 패턴을 통해 웹 어플리케이션의 Model, View, Controller 사이의 의존 관계를 DI 컨테이너에서 관리하여 개발자가 아닌 서버가 객체들을 관리하는 웹 애플리케이션을 구축 할 수 있다.

 

 

 

 

Spring의 구성 모듈

 

 

 

 

 

Spring의 동작 구조

 

 

 

 

 

Spring MVC

 

- Spring Framework 에서는 클라이언트의 화면을 표현하기 위한 View와 서비스를 수행하기 위한 개발 로직 부분을 나누느 MVC2 패턴을 지원한다.

 

- Model, View, Controller 사이의 의존관계를 DI 컨테이너에서 관리하여 유연한 웹 애플리케이션을 쉽게 구현 및 개발 할 수 있다.

 

 

 

**** Spring MVC 구성 요소 ****

 

 

 

 

 

Spring 프로젝트 구조

 

 

 

 

 

 

 

 

 

 

 

 

 

'Spring' 카테고리의 다른 글

Spring 파이널 알림함  (1) 2023.10.16
Spring 파이널 프로젝트 js 문자열  (0) 2023.10.03
Spring 파이널 프로젝트 칼럼게시판 글 작성  (0) 2023.09.26
IOC, DI, Annotation  (0) 2023.08.23
Framework  (0) 2023.08.16