22.05.19_spring 수업(5차시)_
1교시
인터페이스구현_평가안내 5월 24일(화요일)
- 평가체크리스트 - 40분
- maybatis-config.xml
- mapper.xml
- 서술형 - 40분
- mybatis
- Framwork
- resultMap과 resulType의 차이
- JdbcUtil의 내용
- 세미프로젝트에 MyBatis 적용부분을 각 조별로 DAO 를 1개이상 나누기
- 조원 1인당 DAO를 1개이상 나누기
- 5월 23일 수업 시작 전까지
- 5월 18일 수업 내용 정정
- autoCommit default false -> true
파이널 안내
발표일에 맞춰서 분석/설계 마무리 - 6월 22일
참고사이트 정하기
페이징 처리
Spring
Spring/1_Maven4
Apache Maven
1. 프로젝트의 버전 정보
2. 라이브러리 정보
3. 빌드 플러그인 정보
-> pom.xml문서를 이용하여 관리하는 프레임 워크
pom
pom.xml 구성
>> 문제해결시나리오/틀린부분찾기에 자주 출제
pom.xml에 붉은색이 뜨면 아무것도 작동이 안됨. 따라서 수정할 부분을 기억놓는게 좋음
groupId와 artifactId를 합하면 website 주소처럼 구성된경우가 많음.
scope가 test 또는 runtime인 경우에는 jar파일에 회색빛이 돌음.
2교시
>>properties에는 거의 버전임.
>>그룹아이디가 동일한 애들은 같은 버전으로 맞춰줘야함
2_spring기초4
★스프링 특징 - 모두 외우기!!!
자바 특징 1 추상화 2.은닉화 3. 상속 4. 다형성
AOP
- 언제 어디에라는 개념이 추가된 확장된 필터,,!
AOP->특정기능을 뽑아 관리하는것
패키지명 끝에 dao로 끝나고 모든 class 에 log를 뿌려주는 방식
POJO - 이 객체를 지원해준다.
DI - 직접적으로 new해서 사용하는게 아니라 설정하여 사용하는것.
1 xml 설정하기
2 어노테이션 외우기
!! webServlet 부분을 new에 사용한적이 있습니까? NO..
어노테이션 때문에 사용한적이 없는거임! -> 이게 바로 의존성 주입의 첫번째
!! web.xml에서 new 사용X -> 이거또한 의존성 주입.
!!
의존관계
의존관계가 형성된다는 의미는 컨트롤러에서 서비스를 생성하여 사용한다면
컨트롤러는 서비스의 의존관계다 라고 보는거임.
3교시
IoC
컨트롤러(servlet)의 생명주기 -> url이 최초 호출 -> xxxServlet클래스에 init() 호출 -> Service() 호출 -> doGet()/doPost() 호출 -> 컴파일이 다시 되면 destory()
Ioc가 되려면 DI가 되어있어야 가능함.
Spring FramWork의 특징
Spring의 구성 모듈(=기능)
모듈 - > 기능의 묶음
REST API 모듈 -> 애초에 적용을 시킬거면 미리 이야기가 되어야함
뭐라도 해보면 그래도...좋음,,,!
DI개념이 서야 이해하기 쉬움,
공동작업의 구조를 파악하는것이 중요하다
4교시
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
클라이언트가 request를 함. -> request가지고 dispatcherServlet한테 감.
-> 2번 dispatcherServlet이 post고 login이야 부분을 HandlerMapping한테 줌.
-> 3번 HandlerMapping LoginController한테 줄거야
-> post고 login이야 이거를 들고 서비스에 갔다가 결과를 받아 들고 컨트롤러로 옴
5번 리턴을 할 데이터들= setattribute에 넣어준 애들 = MODEL
성공을 하면 main으로 이동해줘 라고 한다면 = VIEW
위에 것을 dispatcherServlet한테 주면
-> 해당 뷰페이지를 선택해줄게 뷰를 찾아 모델을 함께 보내줌.
-> response해줌.
HanddlerMapping은 실행시켜줄 메소드를(어노테아션을) 찾아 호출시켜주어 매칭 시켜줌. 즉 url을 열어줌.
개념에 너무 집착하지 말기.
너무 일대일로 매칭시켜서 보지 말기!
중요! -> 구현속도에 영향력
일반 클래스에서 어노테이션으로 만들어주기 때문에
5교시
ㄱ
첫번째에는 attribute의 이름 적어주기
밑줄 친 코드 때문에 오류가남.
빨간 박스에 체크하면 톰캣 구동시
.metadata/temp0/wst.core.server/wepap~./first/ 여기에 들어가지 않음
소스코드와 같은 위치있는걸 찾아서 브라우저에 뿌려줌.
체크시 장점
파일 저장할때 그니까 업로드 했을때 .metadata/temp0/wst.core.server/wepap~./first/ 에 저장 되고
db에 저장 되는데 내파일에서 찾기 어렵고 클린시 메타데이터가 지워짐
하지만 체크를 하면 클린을 해도 안지워짐.
단점 - JSTL 같은경우에는 jar를 넣어줘여함.
파일시스템을 쓴다면 체크박스해제 하고 lib폴더를 지워도 됨.