
xml이 여러개 있을 수 있어서 *
spring
서블릿 안나옵니다.
jsp는 나옵니다. view단
view단이 자바스크립트JS로 바뀌면 밖으로 빠져나오니까
점점 안쓰게됩니다.
JS도 문법이 % 에서
tag기반 JSTL EL식
HTML처럼 보이게 바뀜
BOOT는 타임리프라는 VIEW단으로 바뀝니다.
ZIP으로 하기

OPEN > SPRINGMVC01 찾고 > BULID.그래들
하고 톰캣서버에 등록은 해야될것입니다.


Spring Legacy MVC는 위 구조에서 작업하시면 됩니다.
- XML파일 참조순서
web.xml - 가장 먼저 참조되는 파일
root-context.xml - DB설정 관련 파일
servlet-context.xml - DispatcherServlet(프론트컨트롤러)설정파일
1.web.xml

root - context 올려서 일합니다.
db연결 - api(jdbc연결 dao )

라이브러리가 연결(spring 내부)
다른 라이브러리가 대신 jdbc연결
jdbc 감싸고 있는게 spring jdbc입니다. 23줄
인서트 단위 > 트랜잭션
dao
메서드에 여러개 날라가는경우 , 계좌이체
돈 꺼내고 돈 넣는것
전체성공 , nothing 전체실패 > 트랜잭션 처리를 라이브러리에서 합니다.
그 위에 감싸고 있는것 HiKariCP 데이터 소스
물리적연결하는 객체

메모리에 있는 것
객체지향 객체로 만듬 : 데이터 소스
커넥션 메모리에 연결 클래스로 만들어 씁니다.
ㅇㅇㅇㅇ
ㅇ 한개씩 연결
Mybatis 입장에서는 세션

sql 세션이 여러개 모여져 있는 공장 : sqlSession팩토리
용어 : 커넥션 풀
객체지향 입장에서는 팩토리
Mybatis.org


mybatis db프레임워크

mapper interface
spring > mapper interface > DB
나머지는 다 추상화
mapper interface >연결 SQL Mapper


MVC 작업준비

POJO가 한두개가 아니라서 scan

@Controller 있으면 POJO 클래스 객체를 메모리에 다 올립니다.

annotation-driven : 활성화

HandlerMapping
(각각 맵핑되어있음)보드리스트.do 요청오면 보드리스트 함수 실행
POJO들 분석 어떤 메서드 실행할지 내부적으로 알고있음 관리함
노란색은 이미 만들어져있음

맵핑이 알려줌
저 POJO 에 메서드 저거 실행

저 메서드 실행
db연결




경로를 바꾸는 기술 : forward

셋 어트리뷰트

받아서 그대로 응답



요청해서 응답을 해주는 부분
웹레이어 , 웹프레젠테이션

소규모
현재
굳이 굳이 말하자면 2티어 아키텍처
보통 3티어 아키텍처
DB에 못짭니다.
BoardMapper X
BoardController X

비즈니스레이어, 서비스레이어
3티어 아키텍처
스프링은 3티어아키텍처입니다.

service 에 만듭니다.

기존 spring에서
webapp를 만드니
erp를 만드는 web


클래스 . 각 역할
모델 .
더이상 쪼갤 수 없는 엔티티
컨트롤 > 서비스 써야
서비스 > 레파지토리
기능정의
erp 기능을 한눈에 보는 서비스 메서드
구현순서
서비스 ->
클래스 만드는건 해야해요
구현체 - 인터페이스 - mapper - repository

모델에 넣어야합니다.
set.Attribute 값을 넣습니다.
FrontController
포워딩할때 모델의 주소를 줍니다.

옛날방식입니다.
// 책 전체목록 요청 처리
@RequestMapping("/bookList")
public String bookList(Model model){
List<?> bookList = bookService.bookList();
model.addAttribute("bookList", bookList);
return "bookList"; // bookList.jsp -> ${bookList}
}
"bookList의 주소" , lookList
${bookList} 반복문을해서 꺼내와야합니다.

요구정의서
테이블정의서




