WebPrograming/수업정리

22.05.20 sping수업(6차시)_

스니썬더 2022. 5. 20. 15:24

1교시

-> Maven
-> gradle
Spring Boot
-> 전자정부표준프레임 워크 
java script 와 jQury 같은 관계.
sping 같은 경우 소켓 부분이 원시적임 .
하지만 Spring Boot를 통해 다양하게 이용할 수 있음.
Spring Boot가 gradle 방식으로 되어있음.

 

Gradle 방식은 pom.xml이 아니라 build.gradle . 

 

 

Maven  pom.xml
Gradle  build.gradle
(생긴모양은 프로퍼티나 스크립트 처럼 생김.)

의존성 주입은 Framwork가 해준다. 

Controller는 service에 의존적이고 Service는 Dao에 의존적이다.

 

이런 기능들이 나중에 모듈명으로 존재함. 

모듈명으로 존재,

 

DB연동을 위해서는 

Spring jdbc, ojdbc6 , myBatis필수 

 

web.xml에 이코드에 의해 실제로 new하지 않음

 

 

 

2교시

web.xml에 이코드에 의해 실제로 new하지 않음

위 2개의 코드 + web.xml 수정사항이 있다면 서버 다시 돌려줘야함.

web.xml / root-context.xml / servlet-context.xml 수정 후 꼭!!! server- restart 해주세요.

pom.xml 수정 후 꼭!!! 프로젝트> 오른쪽마우스 > Maven > Update Project > ok 해야함.

   - 깨끗하게 jar 모두 지우고 다시 받고 싶다면 force ..체크해주기

 

 

DI개념에 설정하는 방법은 2가지

 

방법1. we.xml으로 설정

방법2 . 핸들러맵핑시 어노테이션으로 지정

servlet에서 했던 방식

이건 servlet에서! 우리는..사실 다...알고 있었다,,!

model and view 

 

model 이란 우리가 저장해놓고 싶은 데이터

model.addAtrribut 는 rq.setAttribute와 동일함.

 

>> 위 5개는 servlet에서 다룸 

 

 

프로젝트 만들기!!

3번째가 context root명이 됨

>> 여기에다가는 _ 언더바를 사용하지 않음. + 키워드 사용하지 않음. ( 예를 들어 final..)

 

pom.xml 수정

 

spring MVC project 생성 : kh.spring.first2 pom.xml 수정 - 

properties : java-version 1.11로 변경, 

springFramework 5.3.19로 변경 -94번줄 servlet 그룹아이디 javax.servlet으로 변경,

version 4.0.1로 변경 - plugin :configuration <source> <target>에 ${java-version}으로 변경

 

 

3교시

 

서블릿버전 2.5 에서는 자바가 1.6이여도 괜찮지만 

이걸 톰캣 9.0은 java 1.7이상만 지원해주기 떄문에 변경함

해당부분 주석처리후 다른 컨트롤러를 만들어서 사용해도됨,.
예전에 servlet에서 forword만 하는상태랑 비슷함

<%=request.getContextPath() %>의 기본위치는 wepapp

ctrl f5 누르면 무조건 뜨는 놈... 다시 f5하면 지워짐.

프레임워크(Ioc)가 login 메소드을 호출시켜줌.

 

logger

servlet-context에서 붙여주었기때문에 .jsp 와 /WEB-INF/views/를 붙여주지 않아야함.

 

@RequestMapping -> url상황을 내가 인지하겠어!

 

너가 두개의 인자를 쓰게된다면 둘중에 뭐인지 몰라 

그래서 아래와같이 써줘야함.

함수는 매개인자로 들어가는거지만 어노테이션은 설정임.

그래서 반드시 속성명 = 값 , 속성명 = 값 의 형태로 넣어줘야함. (html과 유사)

따옴표 필요없음 쉼표로 구분하겠어라는 의미.

 

이거 도움을 받아 root-context.xml 작성

 

이거 구분할줄 알아야함.

위 빈의 데이터소스를 가지고 아래빈 에대가 대입해줘도 되겠니? 

그래서 value 라고 적으면 글자그대로를 세팅한다는 의미

ref이라는건 레퍼런스의 약자로 기존에 만들어진 객체를 대입시켜주겠다는 의미이다. 

추상화랑 비슷

클래스명 = 자료형

아이디명 = 객체명

5교시

 

myBatis가 해주는 상태지만 해당 클래스에서 datasource만들어줌.

 

DAO만들기

 

 

6교시 - 실습^^