-
[이론] 1/13 목 Spring FrameworkSpring 2022. 1. 14. 19:35
SqlSessionFactoryBean : 구현체 : 실제 실행되는 class
Mapper.java : 그저 interface
Mapper.xml : sql적어두는 곳
실행 순서 : Con - Mapper.java - Mapper.xml - Mapper.java - Con - (객체 바인딩) - Jsp
0. 톰캣서버시작
1. web.xml(작업지시서) reading
① Spring Container : 객체(or bean)가 생성되고 관리되는 메모리 영역
+ 객체끼리의 연결 : 의존성주인 ( DI기법 ) -> @Autowired
② <listener> : 가장 먼저 생성되는 (클래스)객체
<listener> : ContextLoaderListener -> root-context.xml보고 일을 한다.
root-context.xml -> HikariConfig 실행 / HikariDataSource : DBCP(Connection들)을 만든다. / SqlSessionFactoryBean:Mapper들을 실행시켜준다. ( Mapper -> Mapper.xml )
③ FrontController : 요청을 Processing
<Servlet> : DispatcherServlet ( FrontController ) -> servlet-context.xml을 보고 일을 한다
-> POJO, ViewResolver 관련 일
servlet-context.xml annotation-driven : @controller를 활성화 시킨다. context:component-scan : Spring beans을 Spring Container에 자동으로 객체를 만든다. ( @component, @service 등등 어노테이션들이 붙어있는 클래스들을 찾아서 Spring container에 자동으로 객체를 올린다 ) 태그 속성 base-package : POJO(Con)들이 모여 있는 곳 @Autowired : 자동적으로 mapper를 찾음 @RequestMapping() : (RequestMapping)HandlerMapping : 맵핑전문 클래스 / 내부 클래스를 사용하기 위함 / 포조를 찾아서 실행 ViewResolver : 뷰의 논리적인 이름 -> 뷰의 물리적인 이름 (실제 경로)
④ 톰행 실행시 오류가 나면 설정파일(xml)에서 오류가 날 확률이 높음
그림의 위쪽일 : ContextLoader 에러
그림의 아랫일 : DispatcherServlet 에러
⑤ 한글 인코딩
<filter> : 한글인코딩은 중간에 클래스를 만들어 인코딩을 하고 오게 만든다.
무조건 해당 클래스를 지났다고 간다.
web.xml에 filter클래스를 등록한다
참고자료 : https://gmlwjd9405.github.io/2019/01/01/spring-utf8.html
우리가 만드는 영역 : View (jsp) / POJO (Controller) / Mapper.java + Mapper.xml
* 인스턴스 : 클래스를 만드면 객체가 생김 -> 객체 실체를 가르키는 변수를 인스턴스라고 함
* 어노테이션
@Controller : Type - class / @Autowired : Field /
@RequestMapping Method / @GetMapping / @PostMapping
* Spring은 자동으로 맵핑이 되므로 DB, DTO, 파라미터(name)의 이름은 맞춰주도록 한다!
* Con이 자기 자신으로 돌아오는 것을 sendRedirect
* Con → jsp : forwarding / Con → Con : redirect
* 부트 스트랩 참고자료 : https://www.w3schools.com/bootstrap/default.asp
'Spring' 카테고리의 다른 글
[이론 + 코드] 1/17 월 Spring Framework - JSTL + EL (0) 2022.01.18 [이론] 금 1/14 Spring Framework (0) 2022.01.15 [코드] 1/12 수 Spring Framework < root-context.xml > (0) 2022.01.12 [이론] 1/12 수 Spring Framework (0) 2022.01.12 [이론] 1/10 월 Spring Framework (0) 2022.01.11