Spring Framework?

김재령·2021년 11월 30일
0

SpringFramework

목록 보기
1/12

Spring Framework란?

jsp와 기능은 비슷하지만 대규모 데이터 처리와 트랜잭션이 동시에 여러사용자로 부터 행해지는 엔터프라이즈환경으로 애플리케이션을 개발하기 위한 모든 기능을 제공하는 경량화된 솔루션이다.

경량 컨테이너로 자바 객체를 담고 직접 관리한다객체의 생성,소멸,라이프사이클을 관리하며 언제든 Spring컨테이너로 부터 필요한 객체를 불러와 사용 가능하다

📌IOC기반이다
IOC의 구성요소 : DL(의존성 검색),DI(의존성 주입)
IOC는 DI와 DL에 의해 구현된다

컨테이너란..?

보통 인스턴스의 생명주기를 관리, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는 것이다.
즉, 개발자가 작성한 코드의 처리 과정을 위임받은 독립적인 존재로
작성된 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤 해준다


스프링 컨테이너는
1)자바 객체를 담고 있다.
2)언제든지 객체를 가져와 사용 가능하다
3)Bean들의 생명주기 관리
4)Bean들을 관리하기 위해 IOC를 사용

스프링 컨테이너

1.BeanFactory

2.ApplicationContext

IOC(Inversion Of Control)란?

→제어의 역전..? 그게 뭔데,,,
jsp에서 객체(DTO)를 생성 -> 관계설정(상속,참조) -> getter,setter의 과정을 거쳐 사용해 왔다
즉 이러한 과정은 모두 사용자가 제어하는 것이다

하지만 IOC에서의 객체는
자신이 사용할 객체를 생성,선택 하지 않는다
어디에 사용되고 생성되는지 알수 없다
이러한 모든 권한을 다른 어떤 객체에 넘겨 그 객체가 갖게 된다=IOC

🔎그런데 왜 IOC를 사용하는 걸까?
->개발자가 제어하는 방식보다(ex.jsp에서 사용하는 방식) 결합도가 낮아지고 유지보수성이 향상된다

DL - 의존성 검색

사용할 객체를 검색을 통해 반환받는 방식
➡factory.getBean(id);

DI - 의존성 주입

사용할 객체를 주입을 통해 반환방는 방식
➡service(DAO)

스프링은 MVC구조

🔎MVC 구조가 뭘까..?Model,View,Controller
간단히 말하면 화면을 담당하는 view데이터를 처리하는 부분을 분리한것이다.
그래서 작업하기 편하고 재사용이 가능한 구조이다
Model
데이터를 처리하는 부분
View
화면에 출력을 담당하는 부분
Controller
요청을 처리하는 부분으로 뷰와 모델사이의 통신 역할
컨트롤러는 URL을 통해 뷰를 제어한다

요청 -> 컨트롤러 -> 모델(처리 결과) -> 컨트롤러 -> 뷰


✳ 스프링 프로젝트 생성시 DispatcherServlet == servlet-content.xml ✳

🔎스프링에서 제공하는 FrontController인 DispatcherServlet의 역할은..?

DispatcherServlet의 등장으로 엄청나게 web.xml의 역할이 축소 된 것이다.
DispatcherServlet가 있기전에는 사용자의 URL을 일일이 요청을 처리하기 위해 web.xml에 등록(서블릿과 매핑시켜주는 작업)을 반드시 해야했다.
web.xml에서 자주 쓰이는 서블릿 매핑을 DispatcherServlet이 하고
나머지 기능들은 그대로 web.xml에서 처리한다.

Controller-특징

1.파라미터 수집
->사용자의 요청에 필요한 데이터를 추출하고VO(=DB의 레코드)나 DTO(M,V,C 계층간 데이터 교환을 위한 자바빈즈)로 변환하는 파라미터의 수집작업을 한다
2.어노테이션을 통한 간단한 설정
->어노테이션을 통해 요청이나 응답에 필요한 모든 처리를 할수 있다
3.테스트가 편리하다

profile
with me

0개의 댓글