상세 컨텐츠

본문 제목

스프링 부트로 시작하는 웹 서비스_2

JSP·자바·코틀린

by 김일국 2021. 8. 1. 23:53

본문

### 작업한 소스 깃 : https://github.com/miniplugin/kimilguk-springboot2

### 작업결과 배포 클라우드헤로쿠 : https://kimilguk-springboot2.herokuapp.com/

지난 작업에 이어서, 스프링시큐리티기반 네이버 로그인과 권한체크 후 글 등록과 h2메모리DB사용을 해 보았습니다.

### 스프링부트 에서 MVC
- 참고 스프링레거시 에서 MVC는 아래와 같습니다. 비교해 보시기 바랍니다.

- 스프링레거시 예: DB테이블 -> 모델(매퍼쿼리>@Repository인터페이스=DAO클래스) -> 서비스(@Service) -> 컨트롤러클래스 -> (JSP|타일즈템플릿)
- 모델domain(구성:@Entity클래스 와 JpaRepository인터페이스) -> 서비스(@Service) -> 컨트롤러(구성:@Controller+DTO클래스) -> (며스태치템플릿)
- @Entity클래스 : 데이터베이스 테이블을 자동생성 및 구현메서드(@Builder인터페이스사용) 추가.
- JpaRepository인터페이스 : 형식: JpaRepository<Entity 클래스, PK 타입> 기능: CRUD기본 쿼리 자동생성.
- 서비스(@Service) : 인터페이스 없이 사용.(, 레포지토리는 인젝션으로 사용하지 않음.
- 서비스 예, private final PostsRepository postsRepository;
- DTO(Data Transfer Object)클래스 : 스프링레거시의 VO와 같이 데이터 전송 임시 저장소로 Get/Set 역할을함.
- Mustache(며스태치)템플릿 : 템플릿 코드(, {{userName}})로 자바 변수와 객체를 사용함.(JSTL과 타일즈 대신사용)

 

### 스프링 레거시와 스프링부트의 폴더 구조차이
- 스프링레거시 폴더구조: [pom.xml], [WEB-INF>web.xml],[WEB-INF>spring>root-context.xml,WEB-INF>appServlet>servlet-context.xml]
- 스프링레거시 폴더구조: roo최상위 > [controller, dao(src/main/reousrces/mappers쿼리), service, vo ]
- 스프링부트 폴더구조: roo최상위 > [build.gradle], [Application.java] > [config], [domain, service, web>dto ]

 

- 글등록 결과(아래)

- h2 임베디드 데이터베이스 사용

- 앞으로 게시물 CRUD 분석할 예정 입니다.

관련글 더보기

댓글 영역