본문 바로가기
GD's IT Lectures : 기초부터 시리즈/스프링부트(Spring Boot) 기초부터 ~

[스프링 부트(SpringBoot)] 초급 실전 예제

by GDNGY 2023. 5. 4.

10. 초급 실전 예제

10.1. 간단한 CRUD 웹 애플리케이션

이 실전 예제에서는 스프링 부트를 사용하여 간단한 CRUD(Create, Read, Update, Delete) 웹 애플리케이션을 개발해 보겠습니다. 이 애플리케이션은 사용자가 게시물을 생성, 조회, 수정, 삭제할 수 있는 기능을 제공합니다.

 

  • 도메인 모델 생성

먼저, 게시물을 나타내는 Post 도메인 모델을 생성합니다.

@Entity
public class Post {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String title;
    private String content;

    // 생성자, getter, setter, equals, hashCode, toString 생략
}

 

  • 리포지토리 생성

다음으로, Post 도메인 모델을 저장하고 검색할 수 있는 PostRepository 인터페이스를 생성합니다.

public interface PostRepository extends JpaRepository<Post, Long> {
}

 

  • 컨트롤러 생성

이제 PostController 클래스를 생성하여 웹 요청을 처리합니다.

@Controller
@RequestMapping("/posts")
public class PostController {
    private final PostRepository postRepository;

    public PostController(PostRepository postRepository) {
        this.postRepository = postRepository;
    }

    // CRUD 메소드 생략
}

 

  • CRUD 메소드 구현

PostController 클래스에 CRUD 메서드를 구현합니다.

// Create
@PostMapping
public String createPost(@ModelAttribute Post post) {
    postRepository.save(post);
    return "redirect:/posts";
}

// Read
@GetMapping
public String getAllPosts(Model model) {
    model.addAttribute("posts", postRepository.findAll());
    return "posts";
}

// Update
@GetMapping("/{id}/edit")
public String editPost(@PathVariable Long id, Model model) {
    model.addAttribute("post", postRepository.findById(id).orElseThrow());
    return "edit";
}

@PostMapping("/{id}/edit")
public String updatePost(@PathVariable Long id, @ModelAttribute Post updatedPost) {
    Post post = postRepository.findById(id).orElseThrow();
    post.setTitle(updatedPost.getTitle());
    post.setContent(updatedPost.getContent());
    postRepository.save(post);
    return "redirect:/posts";
}

// Delete
@PostMapping("/{id}/delete")
public String deletePost(@PathVariable Long id) {
    postRepository.deleteById(id);
    return "redirect:/posts";
}

 

10.2. 테스트 및 배포

 

  • 테스트 작성

애플리케이션의 기능을 테스트하는 단위 테스트와 통합 테스트를 작성합니다. 이 테스트를 통해 애플리케이션의 정상 작동을 확인할 수 있습니다.

 

  • 배포

마지막으로, 애플리케이션을 실행 가능한 JAR 파일로 생성하고 웹 서버에 배포합니다. 이를 통해 사용자가 애플리케이션을 인터넷을 통해 접속할 수 있게 됩니다.

 

이 간단한 CRUD 웹 애플리케이션 예제를 통해 스프링 부트를 사용하여 웹 애플리케이션을 개발하는 기본적인 방법을 학습했습니다. 이 과정에서 사용자 인터페이스, 도메인 모델, 데이터베이스 연동, 웹 요청 처리 등 다양한 웹 개발 요소를 다루게 되었습니다. 이를 바탕으로 실제로 복잡한 웹 애플리케이션을 개발할 때도 스프링 부트의 다양한 기능을 활용하여 생산성을 높일 수 있습니다.

 

또한, 테스트 작성과 배포 과정을 통해 애플리케이션의 품질을 높이고, 사용자에게 안정적인 서비스를 제공하는 방법을 이해할 수 있었습니다. 앞으로 다양한 프로젝트에서 이러한 경험을 활용하여 성공적인 웹 애플리케이션을 만들어보세요.

 

 

2023.05.03 - [프로그래밍/스프링부트(Spring Boot) 기초부터 ~] - [스프링 부트(SpringBoot)] 기본 배포 및 모니터링

 

반응형

댓글