Spring Framework 개념
Java enterprise Application 개발에 사용되는 자바플랫폼을 위한 오픈소스 어플리케이션 프레임워크
Spring Framework 특징
- 자바 객체를 담고 있는 경량 컨테이너
- 객체의 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다
- POJO (Plain Old Java Object) 기반의 개발
- 제어 반전 (IoC - Inversion of Control) 지원
- 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자 코드를 호출 가능
- 의존성 주입 DI (Dependency Injection) 지원
- 설정파일을 통해서 객체간의 의존 관계 설정 가능
- AOP (Aspect Oriented Programming) 지원
- 트랜잭션 처리를 위한 방법 제공
- 영속성과 관련된 다양한 서비스 제공
- myBatis, hibernate등 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공
- 동적인 웹 사이트 개발하기 위한 여러가지 서비스를 제공
- 우리나라에서는 공공기관의 웹 서비스 개발 시 사용을 권장하는 전자정부 표준프레임워크의 기반 기술로 사용되고 있다
- MVC Framework를 제공
인터페이스 베이스 설계와 스프링을 활용함으로써 소스 파일은 변경하지 않고 스프링 설정 파일만 변경해서 다양한 객체를 생성하는, 변경이 유연한 어플리케이션을 작성할 수 있게 되었다
스프링을 사용하는 이유는 "필요한 인스턴스를 스프링에서 미리 생성해 준다" 라는 장점을 얻을 수 있다
스프링은 자주 변경이 되거나 컴포넌트의 재활용이 높은 유연한 어플리케이션을 작성할 수 있게 하며 테스트도 쉽다
스프링은 프레임워크지만 스트럿츠처럼 웹 어플리케이션 전용의 프레임워크와는 다른 특징이 있다
스프링은 '어플리케이션 프레임워크'로 불린다
콘솔 어플리케이션나 스윙과 같은 GUI 어플리케이션등 어떤 어플리케이션에도 적용 가능한 프레임워크이다
스프링은 EJB와 같이 복잡한 순서를 거치지 않아도 간단하게 이용할 수 있기 때문에 "경량 컨테이너" 라고 부른다
스프링은 Dependency Injection(DI)와 Aspect Oriented Programming(AOP)을 가장 중점적인 기술로 사용하지만 여러가지 기능도 제공하고 있다
스프링은 크게 나눠 7개 모듈로 구성되어 있으며, 필요에 따라 이들을 서로 조합하여 사용할 수 있다
- Spring Core
- Spring AOP
- Spring ORM
- Spring DAO
- Spring Web
- Spring Context
- Spring Web MVC
⚒️ 예제
Chapter01_XML
Java | applicationContext.xml | |
sample01 | // MessageBeanKo 인스턴스를 생성 MessageBeanKo messageBean = new MessageBeanKo(); |
<bean id="messageBean" class="sample01.MessageBeanKo" scope="prototype"></bean> |
sample02 | // CalcAdd 인스턴스를 생성 CalcAdd calcAdd = new CalcAdd(); // CalcMul 인스턴스를 생성 CalcMul calcMul = new CalcMul(); |
<bean id="calcAdd" class="sample02.CalcAdd" ></bean> <bean id="calcMul" class="sample02.CalcMul" ></bean> |
sample03 | // SungJukImpl 인스턴스를 생성 SungJukImpl sungJukImpl = new SungJukImpl(); |
<bean id="sungJukImpl" class="sample03.SungJukImpl" ></bean> |
// D:\Spring\workspace | |
Chapter01_XML/sample01 | XML bean 생성 |
Chapter01_ANNO/sample01 | Annotation bean 생성 |
// D:\Spring\workspace | |
Chapter01_XML/sample02 | XML bean 생성 |
Chapter01_ANNO/sample02 | Annotation bean 생성 |
// D:\Spring\workspace | |
Chapter01_XML/sample03 | XML bean 생성 |
Chapter01_ANNO/sample03 | Annotation bean 생성 |
'Spring > Spring Basic' 카테고리의 다른 글
pom.xml 설정 (4) | 2024.10.04 |
---|---|
Spring 다운로드 & 설치 (1) | 2024.10.02 |