어? 이게 되네
2022.06.23. 목요일 이공계 전문기술 연수사업 (Thymeleaf, 스프링 인터셉터, 스프링 DATA JPA) 본문
오늘 배운 것
Thymeleaf
html에서도 html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리할 수 있다.
컨트롤러에서 상태유지한 거를 안고 jsp 한테 가는 것처럼 html한테도 가고싶어서 타임리프를 씀!
즉 타임리프는 jsp를 대신하는 것임 jsp에서는 controller에서 상태유지한 것을 jstl태그와 표현식을 이용해서
출력했다면 타임리프에서는 컨트롤러에서 상태유지한 것을 타임리프를 이용해서 출력하는 것 !
나머지 ajax통신은 똑같이 jquery 쓰면 됨!(XmlHttpRequest해도 되고 JQuery Ajax하면 됨)
타임리프 세팅
스프링 스타터 프로젝트에서 타임리프 선택=>html만들 때 templates 폴더에다가 생성하고 html태그 옆에 링크 써주기, 각각의 값 태그에 th:써주기 등등등
(우리 수업시간에는 상태유지가 필요한 수정,삭제,읽기에만 타임리프를 적용했음)
스프링에서 파일업로드
input type file이 fname이 아니라 파일정보객체가 들어감
그리고 SpringConfig 에서 MultipartResolver 객체 선언!!!
스프링부트에서 jsp대신하는것 타임리프
제이쿼리(에이젝스통신하여 뷰에 보여주는 것) 대신하는 것 : 리액트 ,뷰(이것들은 axios를 이용하여 ajax를 수행함!)
스프링 인터셉터
필터와 비슷하게 어떤 요청을 실행하기 전에 가로채서 다른 요청을 실행하게 하는 것
필터와 다른 점은 실행되는 시점을 좀 더 세밀하게 설정이 가능함
요청 처리 전 : preHandle
요청 처리 메소드 진입 후 : postHandle
view로 가기 전 : afterCompletion
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
JPA를 사용하면 여러 어노테이션을 설정해서 db에 직접 만들지 않고도
sts에서 테이블과 그 속성까지 생성이 가능하다
jpa셋팅 방법
스프링 스타터 프로젝트에서 Spring Data JPA 선택후 pom.xml 셋팅 후 application.properties에 셋팅 후 vo 셋팅 후
dao 셋팅 후 service 셋팅 (dao를 멤버로 가짐) 그 다음 컨트롤러 셋팅 (service를 멤버로 가짐)
한가지 요청에 대해서 여러가지 일이 일어나는 경우를 비즈니스로직으로 묶어서 서비스로 만듦!
(예를들어 인출하면 입금도 같이 되는 것을 하나의 서비스로 만든다는 뜻)
application.properties에서
spring.jpa.hibernate.ddl-auto=create
는 처음 할 때만 하고 나중부터는 주석막기 !!!
jpa의 save 는 주식별자가 이미 있으면 update,없으면 insert임!! 오오 신기하다
'TIL' 카테고리의 다른 글
2022.06.28. 화요일 이공계 전문기술 연수사업 (카카오 로그인 API, 아임포트 API, Jsoup, 향상된 자바스크립트 함수) (0) | 2022.06.29 |
---|---|
2022.06.24. 금요일 이공계 전문기술 연수사업 (Spring DATA JPA로 조인하기, 카카오맵 api) (0) | 2022.06.24 |
2022.06.22. 수요일 이공계 전문기술 연수사업 (스프링 시큐리티,스프링 AOP,스프링 인터셉터) (0) | 2022.06.22 |
2022.06.21. 화요일 이공계 전문기술 연수사업 (스프링 스케쥴링, 스프링 시큐리티) (0) | 2022.06.22 |
2022.06.20. 월요일 이공계 전문기술 연수사업 (JqGrid,Masonry,너나우리SMS전송,메일전송) (0) | 2022.06.20 |