겉바속촉
[spring] Spring Framework 기본개념 본문
이번에는 SPRING을 들어가기 전
SPRING Framework는 도대체 무엇인지 기본부터 알아보도록 할게요 !^^!
1. POJO(Plain Old Java Object)
: 다른 클래스를 상속받아서 만들어야 하는 클래스가 아닌 순수한 형태의 자바 클래스
2. Ioc(Inversion of Control)
: 제어의 역전이란 뜻,
개발자가 직접 객체를 언제 생성하고 없앨지 결정하는 것이 아니라 컨테이너에게 맡긴다는 뜻
POJO 객체 생성에서 생명주기의 관리까지를 IoC Container에게 담당시킴으로써
개발의 편의성과 재사용성의 극대화를 추구하는 개념
3. AOP(Aspect Oriented Programming)
: 관점 지향 프로그래밍이라는 뜻,
기존의 객체 지향 언어에 의해 추구된 모듈화에 따라 많아진 중복된 코드나,
공통된 처리에 관련한 것들을 관점으로 뽑아내어 공통으로 처리하는 방식
기본 Architecture는 다음과 같습니다.
그럼 위에서 잠깐 살펴봤던 IoC에 대해서 더 자세히 알아볼게요:)
Bean이라는 것이 등장하게 됩니다
Spring에서는 BeanFactory가 기본 IoC컨테이너입니다
보다 향상된 형태로 ApplicationContext라는 컨테이너를 지원하죠
IoC 컨테이너에 의해서 Bean의 생명주기가 관리되기도 합니다
이렇게 관리가 된 Bean은 POJO 타입이고 싱글톤입니다
XML 설정을 통해서 각각의 Bean들을 묶어주고, 이를 wiring이라고 합니다
묶인 Bean을 원하는 곳에 적용하는 것이 바로 DI (의존성 주입) 라고 부르는 것이죠
1. Bean XML 설정
- scope 설정 : IoC container에 의해 관리되는 Bean의 기본 범위 ---> singleton (scope속성으로 다르게 지정 가능)
singleton | 기본값, IoC Container 내에서 유일한 객체로 생성하는 범위 |
prototype | 호출때마다 객체가 따로 생성되는 방식 |
request | 요청시마다 생성 |
session | 세션마다 하나씩 생성 |
2. DI(Dependency Injection)
- 의존성 주입이란 뜻으로 객체를 생성해서 필요로하는 곳에 넣어주는 것을 의미
Constructor Injection(생성자 주입) | 생성자에 필요 객체를 선언하고 멤버 변수(Field)로써 객체를 사용하는 것 객체 생성시 자동으로 IoC 컨테이너가 관련 객체를 주입시켜준다 |
Setter Intection(세터 메소드 이용 주입) | 생성자 주입과 방식은 비슷하나 setter 메소드를 이용하는 것이 차이점 |
'IT일기(하반기) > SPRING' 카테고리의 다른 글
[spring] 생성자 주입해보기 (0) | 2020.06.25 |
---|---|
[Spring] 자바와 스프링의 차이점 알아보기 (0) | 2020.06.25 |
[spring] 작업환경바꾸기 (0) | 2020.06.25 |
[Spring] 작업하기 전에 기본적인 세팅 (2) | 2020.06.24 |
[Spring] Spring 설치하기 (1) | 2020.06.24 |