스프링 부트 코딩 공작소 / 첫번째 애플리케이션(프로그램) 개발하기 2
스프링 부트에서 테스트 코드를 어떻게 작성하는지 먼저 살펴보도록 하겠습니다.
테스트 코드는 src/test/java 안에 들어있습니다.
이 코드를 실행해보도록 하겠습니다.
테스트 코드가 실행되었습니다.
스프링부트에서는 @Test 애너테이션 안의 함수에 코드를 작성하고 동작을 미리 테스트 해볼 수 있습니다.
그럼 이제 도서 목록을 출력하는 프로그램을 만들어보도록 하겠습니다.
먼저 Book 클래스를 생성합니다.
그림처럼 작성하면 되는데 import 되는 파일에 주의해주시기 바랍니다.
그림처럼 작성하시면 됩니다.
현재 src/main/java 폴더 안에는 3개의 파일이 더 있습니다.
각각의 파일의 소스코드는 다음과 같습니다.
Book.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 |
package com.example;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Book {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String reader;
private String isbn;
private String title;
private String author;
private String description;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getReader() {
return reader;
}
public void setReader(String reader) {
this.reader = reader;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
} |
cs |
ReadingListController.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 |
package com.example;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/")
public class ReadingListController {
private static final String reader = "craig";
private ReadingListRepository readingListRepository;
@Autowired
public ReadingListController(ReadingListRepository readingListRepository) {
this.readingListRepository = readingListRepository;
}
@RequestMapping(method=RequestMethod.GET)
public String readerBooks(Model model) {
List<Book> readingList = readingListRepository.findByReader(reader);
if (readingList!=null) {
model.addAttribute("books",readingList);
}
return "readingList";
}
@RequestMapping(method=RequestMethod.POST)
public String addToReadingList(Book book) {
book.setReader(reader);
readingListRepository.save(book);
return "redirect:/";
}
}
|
cs |
ReadingListRepository.java
1
2
3
4
5
6
7
8
9 |
package com.example;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ReadingListRepository extends JpaRepository<Book, Long>{
List<Book> findByReader(String reader);
} |
cs |
Demo1Application.java 는 지금 작성하는 프로젝트와 상관없이 그냥 맨 처음 생성된 java 파일입니다.
그래서 소스코드 첨부를 생략하도록 하겠습니다.
-----------현재 작성중인 글입니다.-----------
'Spring Framework' 카테고리의 다른 글
스프링 부트 Gradle로 프로젝트 생성하기,실행하기 / pom.xml 권하지 않는 이유 (0) | 2018.03.14 |
---|---|
Spring Gradle(STS) 플러그인 설치하는 방법 (0) | 2018.03.13 |
스프링 부트 코딩 공작소 / 첫번째 애플리케이션(프로그램) 개발하기 (0) | 2018.03.09 |
jsp 게시글 페이징 처리 / 페이지네이션 (0) | 2018.02.23 |
스프링 프레임워크 웹페이지 값 전달 / @RequestMapping / @Controller (0) | 2018.01.28 |
댓글