ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ Spring ] 6. MyBatis와 Spring 연동 (Spring MVC 방식으로 회원관리 만들기)
    스타터스 백엔드 3기 2023. 1. 17. 16:21

    하루입니다!!!!!!!!!!!!!!!!!!!!!!!

     

     

     

     

     

     

    web.xml

    • appservlet, spring container 등

     

     

    servlet-context.xml

    • 브라우저로 보내면 바로 실행할 수 있는 것들 : location의 /resources/에 넣어라
    • prefix / suffix 확장자 (jsp 설정)
    • annotation 설정한 베이스패키지는 어디냐

     

     


     

     

    !!! Spring과 myBatis 연동하기 !!!

    실습 내용

    1. SpringMain 만든다. 

        MemberService, MemberServiceImpl, MemberDao, MemberDto

    2. spring-mybatis.xml

        데이터소스, sql 매핑파일명

     

     

     

     

    spring-mybatis.xml 설정하기

    • dataSource 설정
    • mybatis-config.xml, sql-mapping.xml 위치 설정
    • SqlSession 생성
    • @annotation 인식하도록 한다 (component scan)

     

     

     

    여기서 빨간 줄이 뜨는 이유는?

    • maven dependency를 추가하지 않아서 그렇다. 

     

     

     

    maven 의존성 추가

    pom.xml

     

    .jar이 추가되었다!

     

     

     

     

    SpringMain에 pom.xml 추가

    우리는 서버 사용할 거라 이거 사용 안 할 거임

     

     

     

     

     

    spring 연결 설정 (어노테이션 위치, 서블렛과 필터 root)

    • web.xml과 servlet-context에서 위치 설정 해준다.

     

     

     

     


     

     

     

    질문!!!!!!!!!!!!!!!!!!!

    왜 servlet-config에도, spring-mybatis에도 <component-scan> 이 있는 걸까?

     

    1. spring-mybatis.xml

    • 여기의 <component-scan>는 @Service, @Repository와 같은 mvc와 관련 없이 독립적으로 실행되는 어노테이션이 포함된다.
    • main 메소드에서 실행된다.
    • 주석처리하면 main으로 실행하는 java application에서는 오류가 발생하나, mvc를 사용하는 spring server에서는 오류가 발생하지 않는다.

     

     

     

    2. servlet-config.xml

    • @Controller, @RequestMapping과 같은 Spring Mvc 관련 어노테이션이다.

     

     

     

     


     

     

    상대주소 절대주소(아니지만 서치를 위해)

     

    • 컨트롤러의 /url은 앞의 context가 생략된 것이다.
    • form의 /url은 앞의 port번호까지 생략된 것이다. 그래서 앞에 context 먼저 적어줘야 한다.

     

     

     


     

     

    로그인한 유저의 정보를 세션에 담아서 유저가 로그인 되었는지 아닌지 확인하기





     

     

     

     

    work_space => first => java => spring.mybatis 참고하기 !!!!!!!!!!!!!!!!!!!!!!!!!

     

     

Designed by Tistory.