카테고리 없음

이클립스 스프링 프레임워크 정리 ⑤

letsgojieun 2021. 7. 28. 22:09

 

 

이렇게 3개 추가

 

 

 

 

memberdao class를 implements 했다는 의미로 Impl

 

 

 

 

멤버 컨트롤러 생성

 

 

 

 

의존관계

 

 

 

 

스프링이 이 클래스를 직접 생성하고 관리하게끔 해야 함

 

 

 

 

기본 패키지의 하위에 있어서 컴포넌트 스캔함

 

 

 

컴포넌트 스캔을 통해서 빈(객체) 생성

 

 

 

 

오직 하나만 생성 => 싱글톤

 

 

 

 

현재 dao는 비어있음. 밑에서 이걸 참조하려고 하면 널포인트익셉션 발생

-> 500번 버스 타야 함..

그래서 의존 객체 주입 DI 해야 함

 

 

 

dao 객체 참조값이 주입이 됨

DI는 스프링 핵심 개념

 

 

1,2는 지켰지만 아직 3은 X

memberdaoImpl객체는 memberdao타입이기도 함

 

 

 

 

 

인터페이스 타입으로 바꿈

(클래스 임포트 하지 말고)

 

 

 

이렇게 의존관계를 끊어버림

memberdaoImpl클래스 삭제해도 멤버 컨트롤러에 아무런 오류 발생하지 않음

 

 

 

두 개 다 같은 memberdao 타입인데 그럼 autowired로 dao 작성 시 여기에 무엇이 들어오나?

이렇게 같은 타입이 여러 개인 경우 스프링이 뭘 넣어줘야 할지 몰라서 오류가 남

명시적으로 이름 부여해줘야 함

 

 

 

어노테이션 없이 직접 명시해도 생성됨

 

 

 

 

mybatis를 배운다는 건, sqlSessionTemplate 직접 배우는 것

 

 

 

 

인터페이스로 주입받기

 

 

 

 

이렇게 주입이 됨

 

 

 

 

옛날에 길게 작성했던 dao를 이렇게 해결이 가능

 

 

 

 

 

여기 list를 바로 런 하면 안 됨. web-inf에 있는 건 요청이 안됨. 인덱스 타고 들어가야 함

 

 

 

 

sqlsession을 통해 db에서 회원 목록을 가져옴

여기서 홈컨트롤러, 멤버 컨트롤러, 멤 버디 에이오, 에스큐엘 세션은 모두 bean! 스프링에서 관리

sqlsession을 사용한다는 건 mybatis 사용한다는 것

 

메이븐 프로젝트는 pom.xml로 관리

 

 

 

삭제 기능 구현하기

 

 

 

인터페이스에 메서드 먼저 추가

 

 

 

 

memberDaoImpl에 오류 생김. 언임플리티드 메서드 클릭하여 추가

 

 

 

 

저기에 바인딩

 

 

 

 

이렇게 mybatis를 잘 이용하면 편하게 DB에 있는 걸 가져올 수 있다

동적 sql문을 만들 수 있음

 

 

반응형