아주 오랜만에 갠플을 다시 하려니
기억이 안 나서
정리해두려 한다. (ง •̀_•́)ง✧
(기억력이 정말 심각.. )
일단은 스터디에서 진행하는 '부스트 코스'에 있는 프로젝트 - 방명록 만들기를 간단하게 구현한 것 정리
(심지어 삭제도 아직 안만듬 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ)
내 맘대로 순서를 정해서 정리해본다.
1. STS 에서 new로 파일을 만든다.
Lombok / MySQL Driver / Spring Web / Spring Data JPA / Spring Boot DevTools를 선택했다.
2. 촤라락 알아서 스프링 부트 프로젝트를 만들어줍니다.
물론 ( ) 은 스스로 만들어야하고 줄 쳐있는 건 기본으로 생성됨
3. 일단 우회해서 MySQL 에 테이블을 하나 만든다.
- `regdate` DATETIME NULL DEFAULT NULL COMMENT '등록일', 이걸 자동으로
regdate 넣고 싶어서 CURRENT_TIMESTAMP 를 넣었는데 안 먹는 것 같다. (★수정하기!)
이대로 테이블을 만들었더니 이런 주의 표시의 문구가 떳다.
1681 Integer display width is deprecated and will be removed in a future release. 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 0.047 sec |
파파고를 돌려보니 해석> 1681 정수 표시 폭은 더 이상 사용되지 않으며 향후 릴리스에서 제거된다. 3719 'utf8'은 현재 문자 집합 UTF8MB3의 별칭이지만, 향후 버전에서는 UTF8MB4의 별칭이 될 것이다. 모호하지 않게 하려면 UTF8MB4를 사용하는 것을 고려하십시오. 0.047초 |
그래서 UTF8MB4를 일단 바꾸었는데 이미 테이블 만들어짐 ๑°⌓°๑ ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
일단 만들었으니깐 다음거 ㄱㄱ
4. 자, 다시 STS로 돌아와서 환경설정을 해보자.
4-1) pom.xml 에 이게 없는 것 같아서 넣어줌 - 나는 jsp를 씁니다
+ 그리고 뭔 tomcat이 없다고 에러가 떠서 (나는 스프링부트에 있는 서버를 사용할 거라 간편하게!)
이거를 삭제했따..
4-2) 데이터베이스 정보를 넣어주기 위해서 application.properties 에 기입한다.
어디서 보고 배꼈는데, 노란 줄 그인 곳은 내 거를 넣으면 된다.
그리고 spring.jpa.hibernate.use-new-id-generator-mappings = false
는 Entity에서 데이터베이스 시퀀스처럼 자동으로 값 올릴 때 사용하는 거다.
이 한줄이 없으면 에러 났다.
5. 이제 위쪽 패키지를 만들어본다.
일단 패키지로 com.ahjin.sbp.controller를 만들고 세트인 [service / serviceImpl] 랑 [dao / model] 랑 추가로 config패키지를 만들고 하나씩 채워 나갈 것임
- 컨트롤러에서 service 인터페이스 주입
- 서비스 인터페이스
- 서비스 인터페이스 상속 serviceImpl
- DAO인 repo 주입
- repo / 그냥 JpaRepository 하면 기본 함수 위에 .save()/.findAll() 같은 거 그냥 사용 가능함.
- 인터페이스 안에 사용자 정의 함수 정의해서 사용할 수 있음
- 클래스 이름이 table이랑 같으면 보통 그냥 가져오던데, 잘안될때도 (?) 있어서
Table 어노테이션으로 정해줌. @Entity 라는 표시는 꼭 있어야 됨
- BeanNameAware은 그냥 빈이름확인해보려고 구현한 것임
- @GeneratedValue : 키 자동생성, application.properties의 마지막 한 줄이 이거랑 세트
- 컬럼이름도 보통 같으면 다 가지고 오긴 하는데 이것도 그냥 써둠 ㅋ
-. jsp 컨트롤러에서 일일이 쓰기 귀찮으니깐 설정 클래스 만들어서 정의해줌
- WebMvcConfigurer 구현
- @Configuration 어노테이션 필수!
- InternalResourceViewResolver는 어디서 베껴옴!
6. 이제 화면을 만들어봄
- 메인인 home.jsp는 그냥 확인용으로
- guestBooks.jsp
- ajaxGuestBookList.jsp
자, 너무 대충 만들었지만 이 정도로 마무으리
(๑❛ڡ❛๑)☆
결과물!
localhost:8080/guestbooks
보완사항
* regdate 수정
* css 덧대기
* aop, intercepter 등..
추가 추가...
'Java&Framework' 카테고리의 다른 글
[Java] 날짜&시간 포맷 설정 - SimpleDateFormat (0) | 2023.01.05 |
---|---|
Excel POI 사용법 (0) | 2022.10.20 |
[Java] HttpServletRequest - URL,URI 값 추출하기 (0) | 2021.09.08 |
[파이썬] 기초 정리 (0) | 2020.12.09 |
오늘의 삽질! - spring boot 에서 JPA + Mybatis 붙이기 (4) | 2020.05.17 |