목록springboot (8)
Develope Me!
이번엔 게시글 등록 화면을 구현해보고자 한다. PostsApiController 에서 API를 구현했기 때문에 바로 외부 CDN을 사용하는 방법으로 프론트엔드 라이브러리를 사용하여 화면을 만들것이다. (실제 서비스에서는 외부 서비스에 문제가 생기면 같이 문제가 생겨버릴 수 있기 때문에 이 방법을 잘 사용하지 않는다고 한다.) 부트스트랩, 제이쿼리 라이브러리를 inder.mustache 파일에 추가해야 하는데 바로 추가하는 것이 아닌 레이아웃 방식으로 추가하고자 한다. *레이아웃 방식: 공통 영역을 별도의 파일로 분리해놓고 필요한 곳에 가져다 쓰는 방식 src/main/resources/templates 디렉토리에 layout 디렉토리를 추가하여 레이아웃파일(footer,header)을 생성해줬다. 공통 ..
코로나 확진되고 격리 해제까지..아주 다사다난했던 일주일이었다..ㅎ 증상이란 증상은 다 겪고 나서 이제 좀 정신을 차렸다. 저번 포스팅에선 템플릿엔진이 무엇인지를 알아보고 템플릿엔진인 머스테치 플러그인을 설치해봤다. 이번엔 머스테치를 적용해보고 테스트를 진행하여 잘 적용되었는지를 확인해보고자 한다. build.gradle implementation('org.springframework.boot:spring-boot-starter-mustache') 머스테치 플러그인을 설치해준 뒤 build.gradle파일에 머스테치 의존성을 추가해준다. index.mustache 스프링 부트로 시작하는 웹 서비스 src/main/resources/templates에 위치 시키면 머스테치 파일을 스프링 부트가 자동으로 로..
API구현에 이어서 이번엔 서버 템플릿 엔진과 머스테치에 대해서 알아보도록 하겠다. 서버 템플릿 엔진 웹 개발 프로젝트를 경험한 분들이라면 누구나 JSP를 알 것이다. JSP의 정의에 대해 검색해보면 JSP(Java Server Pages)는 "HTML 코드에 JAVA 코드를 넣어서 웹 서버에서 동적으로 웹 페이지를 생성해서 웹 브라우저에게 돌려주는 서버 사이드 스크립트 언어"라고 나와있다. 정의도 정의지만 스프링 프레임워크를 사용해서 프로젝트를 진행했을 때의 JSP가 어떤 역할을 했는 지를 생각해보면 JSP는 MVC 모델 중 V 즉, View를 만드는데 사용했다. 이런 JSP를 템플릿 엔진이라고도 한다고 한다. 그렇다면 템플릿 엔진이 뭘까? 웹 개발에 있어서 템플릿 엔진이란 지정된 템플릿 양식과 데이터..
JPA가 러닝커브가 높다는 말이 맞는 거 같다...어렵다..ㅎㅎ... 그치만 이렇게 계속 익히다보면 어느순간 머릿 속으로 정리가 될 거라고 믿는다. 이번에는 스프링 웹 계층 정리했던 것에 이어서 등록/수정/조회 API를 구현해보고자 한다! 등록/수정/삭제 PostsApiController @RequiredArgsConstructor @RestController public class PostsApiController { private final PostsService postsService; @PostMapping("/api/v1/posts") //등록 기능 public Long save(@RequestBody PostsSaveRequestDto requestDto) { return postsServic..
Entity 클래스를 생성했다면 이제 테스트 코드를 작성해보자! Spring Data JPA 테스트 코드 domain.posts 패키지에 Posts 클래스를 작성했을 때와 동일하게 test 디렉토리에도 똑같이 패키지를 생성해준뒤 PostsRepositoryTest란 이름의 테스트 클래스를 작성했다. @RunWith(SpringRunner.class) @SpringBootTest public class PostsRepositoryTest { @Autowired PostsRepository postsRepository; @After //(1) 단위 테스트 끝난 후 수행되는 메소드 지정(데이터 침법 막기 위함) public void cleanup(){ postsRepository.deleteAll(); } @..
JPA에 대해 정리를 했다면 이제 실제로 적용해보도록 하자! Spring Data JPA 적용하기 우선 build.gradle에 Spring Data JPA와 H2 데이터베이스 의존성을 추가한다. implementation('org.springframework.boot:spring-boot-starter-data-jpa') implementation('com.h2database:h2') 더보기 1. spring-boot-starter-data-jpa - 스프링 부트용 Spring Data JPA 추상화 라이브러리 - 스프링부트 버전에 맞춰 자동으로 JPA 관련 라이브러리 버전 관리해줌 2. h2database - 인메모리 관계형 데이터베이스 - 별도의 설치없이 프로젝트 의존성만으로 관리 가능 - 메모리에..