1. 정의
스프링 프레임워크(spring framework) 는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 스프링(spring) 이라고도 한다. 동적인 웹사이트 개발을 위해 여러가지 서비스를 제공한다. 대한민국 공공기관의 웹 서비스 개발시 사용하는 전자정부 표준프레임워크에서도 사용을 한다.
간단하게 설명하자면 어플리케이션을 편리하고 효율적으로 만들기위해, 클래스와 인터페이스로 구성된 일종의 뼈대라고 생각하면된다
2. 특징
-IOC ( Inversion Of Control) : 제어의 역전
일반적으로 프로그램은 객체 생성 부터 생명주기까지의 모든 작업을 사용자가 제어하는 구조였다. 하지만, IOC에서는 이 흐름의 구조를 바꾼다.
1. IOC에서 Object가 자기가 사용할 객체를 선택하거나 생성하지 않는다.
2. Object는 자신이 어떻게 생성되고 어떻게 사용되는지 알 수 없다.
3. 자신의 모든 권한을 다른 대상에 위임함으로써 제어권한을 위임받은 특별한 객체에 의해 결정되고 만들어진다.
IOC란 기존 사용자가 사용하던 모든 작업을 특별한 객체에 위임하여 제어권이 넘어간것이다.
-IOC의 구성요소 DI, DL
DL(Dependency Lookup) - 의존성 검색
저장소에 저장되어있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 검색(Lookup)하는 것
DI(Dependency Injection) - 의존성 주입
각 클래스간의 의존관계를 Bean Definition 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것
①Setter Injection - Setter 메소드를 통한 의존성 주입
②Constructor Injection - 생성자를 통한 의존성 주입
③Method Injection - 일반 메소드를 이용한 의존성 주입
-POJO(Plain Old Java Object)
POJO란 말 그대로 오래된 방식의 간단한 자바 오브젝트라는 말로서 setter, getter 메소드로 이루어진 Java Bean을 의미한다. 이러한 단순 오브젝트는 의존성이 없고 추후 테스트 및 유지보수가 편리한 유연성의 장점을 가진다.
-AOP(Aspect Oriented Programming)
AOP란 관점 지향 프로그래밍으로써, 어떤 로직을 기준으로 핵심적인 기능, 공통적인 기능으로 나누어서 보고 그 기능을 기준으로 각각 모듈화 하는것이다.
'Framework > Spring😊' 카테고리의 다른 글
[Spring] Batch 와 Scheduler 의 차이와 Scheduler사용법과 예제 (0) | 2023.05.09 |
---|---|
[error] setattribute non-serializable attribute (0) | 2021.11.19 |
[SPRING] MYBATIS, JDBC 차이 (0) | 2021.11.03 |
[error]java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver 뜰 경우 (0) | 2020.10.18 |
[Spring] status.setComplete() (0) | 2020.10.18 |