Spring [01] 기초

totwo·2024년 8월 27일

Spring/JPA

목록 보기
1/17
post-thumbnail

기존 프로그램의 개발 방식의 단점

  • 유지보수가 어렵다
  • 다른 기업 또는 사람이 개발한 방식이 서로 다르기 때문에 수정하기가 쉽지 않다.
  • 언어가 다른 경우 해당 언어로 개발하거나 새롭게 개발을 해야한다.
  • 기존의 개발 문서를 인수인계하는 것이 정확하지 않다.

개발언어를 동일한 언어로 맞추고, 개발 방식 또한 일관되게 하게 하면 된다.
일정한 틀에 갖춰 그 안에서 규격에 맞게 개발하는 걸 프레임워크라고 한다.

Spring이란?

Spring의 5가지 개념

  • POJO (Plane Old Java Object) : 순수 자바 객체
  • DI (Dependency Injection) : 의존성 주입
  • AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍
  • MVC
  • 독립적

1) POJO

  • Plane Old Java Object : 순수 자바 객체
  • 객체 간의 관계 구성시 별도의 API를 사용하지 않는 POJO 구성만으로 가능하도록 제작
    -> Controller들

2) 독립적

  • 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않음

3) MVC


1) request - URL을 통해 요청 받아옴.

2) Spring에서 front controller 역할을 하는 것은? Dispatcher Servlet

3) Dispatcher Servlet이 요청받아서 필요한 해당 controller(POJO) 찾아달라고 Handler Mapping에게 부탁함.
Handler Mapping이 Dispatcher Servlet에게 위치를 돌려줌.

4) Handler Adapter를 통해 Dispatcher Servlet과 Controller이 연결

5) Controller(POJO)는 DB 연결/제어하여 본인 업무 시행함.

6) 회원정보 목록을 Session에 저장해주지만 한 페이지에서만 저장할 때는 Model에 저장해줌

7) 이동해야할 페이지의 View name(이름)만 Handler Adapter에게 전달

8) 받아온 이름에 View Resolver에서 경로랑 .jsp를 붙여주며 최종 경로를 확실시함
Model에 있는 데이터와 연결하여 View에 전달

9) View에 전달하여 Response함.

4) DI

  • Dependency Injection : 의존성 주입

5) AOP

  • Aspect Oriented Programming : 관점 지향 프로그래밍
  • 공통 로직을 제거해주는 방법

수업 준비



-> 실습용 zip파일 import해오기


-> port 번호 변경해주기


-> Servers에 import해온 project 드래그하여 연결해주기
-> Server Start


-> project 실행 방법 : Run As - 1. Run on Server해준다

java 코드를 xml 코드로 쓸 수 있다
web.xml에 Dispatcher Servlet 선언되어 있다.

Dispatcher Servlet의 이름이 'appServlet' 이며

appServlet이 생성될 때 매개변수(init-param)를 참조
init-param을 통해 해당 위치를 알 수 있다.
/WEB-INF/spring/appServlet/servlet-context.xml

Dispatcher Servlet 확인!!!!


request 내용에 따라 Dispatcher Servlet은 Handler Mapping에게 Controller를 찾아달라고 해야하는데
-> 그 위치가 kr.board.controller이며 거기서 scan 하라고 알려줌
-> Handler Mapping이 찾기 시작함

조건 1 : "kr.board.controller" 위치에 있어야 하고

조건 2 : @Controller
어노테이션으로 정확히 Controller라는 것을 명시


조건 3 : RequestMapping을 통해 정확히 파악
해당 Controller에서 RequestMapping을 통해


View name 인 "home"을 Handler Adapter를 에게 주고
Handler Adapter는 Dispatcher Servlet에게 전달


Dispatcher Servlet는 받아온 View name을
View Resolver을 통해 최종 경로 정해서 View에 전달한다
-> 앞에는 경로 '/WEB-INF/views/' 붙이고
-> 뒤에는 '.jsp' 붙임


-> View를 통해 Response해준다

profile
Hello, World!

0개의 댓글