ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [이론] 1/13 목 Spring Framework
    Spring 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

    댓글

Designed by Tistory.