본문 바로가기

Spring

[Spring]Spring 시작해보기(2) - CRUD

등록

글을 넣어보는 시간을 가져봤다.

 

처음에 ArticleDto를 만들어 저장할 내용들을 입력했다.

추가로 Lombok을 사용하여 Getter을 어노테이션으로 생성했다.

 

addArticle이라 Mapping 해주면 파라미터로 보내준 title과 body를 사용해 Article에 넣어주었다!

(추가로 ArticleDto 내에서 id값은 자동으로 증가할 수 있도록 설정해주었다.)

저장이 될 수 있도록 

Article들을 담을 수 있는 ArrayList를 생성해주었고, 실행시켜 저장이 되는지 확인해보았다.

출력은 잘 되었지만 저장이 잘 되는지 확인할 수 없다!

왜냐하면 가져오는 방법을 알 수 없기 때문이다..

 

출력

스프링에서는 article을 get 할 경우 자동으로 JSON형태로 변환시켜 출력시켜준다.

잘 되었는지 확인을 위해 /article/{id}를 Mapping하는 메서드를 만들어보자

 

stream을 사용해 해당하는 파라미터로 전송한 id를 불러와 id값에 맞는 article을 가져왔다!

 

확인해보자!

JSON형태로 잘 저장되고, 출력되었다!

 

 

수정

저장한 게시물을 가져온 파라미터 값을 이용해 수정할 수 있도록 해보자!

영속성이 없어 계속 지워지는 article을 방지하기 위해

프로그램을 실행시킬 때마다 2개의 article이 생성될 수 있도록 했다.

 

id값을 받아와 해당 아이디의 article을 가져오고, article이 없을 경우를 방지한 출력문을 적었다.

setter을 사용해 title과 body를 파라미터로 가져온 값으로 변경해 주었다.

 

결과는?

너무나도 기가막히게 수정이 잘 되었다!

 

 

 

삭제

해당 글의 등록과 삭제가 가능하다면, 삭제도 가능해야 한다.

이번에는 글을 삭제하는 방법을 알아보자.

id의 값을 파라미터로 가져와 id에 맞는 article을 가져온다.

 

id에 맞는 article을 article들을 저장한 ArrayList에서 remove해준다.

 

결과는?

아무것도 출력이 안되었으니 삭제가 잘 된 것 같다!

 

 

 

추가!

객체 자체를 파라미터로 넣어줄 수 있는 방법에 대해 추가로 알아보자.

새로운 객체인 Person class를 만들어준다.

객체를 자동으로 넣어줄 수 있는 방법은 인터넷 검색으로 @ModelAttribute를 넣어준다면 된다고 한다.

그래서 Person 객체를 넣을 수 있도록 추가해주었다.

그리고 저장할 수 있는 List를 생성해 추가해주었고, 출력이 될 수 있도록 return을 넣었다.

결과는?

아주 잘 나온다!

 

그런데, 이런 복잡한 방법보다는 더욱 쉬운 방법이 있다.

그냥 객체를 파라미터 값으로 넣어준다면 Spring에서 알아서 값들을 넣어 JSON으로 만들어 보내준다.

Spring에는 정말 편리하고 간결하게 만들 수 있도록 도와주는 것 같다.

 

++ GetMapping에 /addPerson2/{id}를 해주어도 알아서 id값을 넣어준다.