본 강의는 자바 백엔드 개발의 실전 코스를 시작하는 첫 강의입니다. 스프링 부트와 JPA 실무 완전 정복 로드맵을 우선 확인해주세요. (링크)
실전! 스프링 부트와 JPA 활용
스프링 부트(Spring Boot)는 복잡하고 어려운 스프링 프레임워크를 간결하고, 쉽게 사용할 수 있게 도와줍니다. 여기에 JPA가 제공하는 강력한 ORM 기술을 더하면, 높은 생산성을 유지하면서 민첩하게 웹 애플리케이션을 개발할 수 있습니다. 이런 점들 때문에 자바 진영에서는 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 개발하는 것이 세계적인 추세입니다.
강의 목표
스프링 부트와 JPA를 알고 있어도, 실무에서 이 기술들을 활용해서 웹 애플리케이션을 설계하고, 개발하는 것은 또 다른 차원의 문제입니다. 보통 웹 애플리케이션은 다음 개발 과정을 거칩니다.
일반적인 웹 애플리케이션 개발 과정
요구사항 분석
도메인과 테이블 설계
아키텍처 구성
핵심 비즈니스 로직 개발
웹 계층 개발
테스트
성능 최적화
이 강의는 게시판 같은 단순한 예제를 넘어서, 실무의 복잡한 상황을 재현할 수 있는 난이도 있는 예제를 사용합니다. 그리고 요구사항 분석부터 설계, 개발, 테스트, 성능 최적화까지 이 모든 과정을 순서대로 진행합니다. 이렇게 실무에 가까운 예제로 웹 애플리케이션을 처음부터 끝까지 함께 설계하고 개발해보면, 이 과정 속에서 스프링 부트와 JPA를 활용하는 올바른 방법을 자연스럽게 익힐 수 있습니다. 그리고 실무에서 이 기술들을 어떻게 활용해야 하는지 이해하게 됩니다. 특히 실무에서 중요한 성능 최적화 방안도 단계적으로 배워서 적용할 수 있습니다.
전체 강의는 웹 애플리케이션을 설계하고 개발하는 1편과 API를 개발하고, 성능을 최적화하는 2편으로 구성되어 있습니다. 본 강의는 그 중 첫 번째에 해당하는 1편입니다.
👨💻 수강 전 참고해주세요!
2편 API 개발과 성능 최적화는 별도의 강의로, 하단 [연관 강의]에 링크를 걸어두었습니다.
학습 과정
1편 - 웹 애플리케이션 개발
실무에 가까운 복잡한 예제, 처음부터 끝까지 코딩으로 완성!
1편은 회원, 상품, 주문 도메인이 있는 간단한 웹 애플리케이션을 설계하고 개발합니다. 진행 순서는 다음과 같습니다.
프로젝트 환경설정: 프로젝트를 생성하고, 스프링 부트와 JPA, 뷰 템플릿인 타임리프, 롬복, 그리고 데이터베이스가 정상 동작하도록 프로젝트 환경을 구성합니다.
도메인 분석 설계: 요구사항을 분석하고 도메인과 테이블을 설계합니다. 도메인과 테이블 설계가 끝나면 JPA를 활용해서 엔티티 클래스를 만들고, 엔티티 클래스와 테이블을 매핑합니다.
도메인 개발: 회원, 상품, 주문 도메인의 핵심 비즈니스 로직을 개발하고, 테스트 케이스를 만들어서 검증합니다.
웹 계층 개발: 구성한 도메인을 웹 환경에서 동작하도록 컨트롤러와 뷰 템플릿(타임리프)을 개발합니다. 실제 동작하는 화면을 확인할 수 있습니다.
2편- API 개발과 성능 최적화
최근에는 뷰 템플릿을 사용해서 직접 서버에서 HTML을 만들어서 응답하기 보다는, API에 JSON 데이터를 실어서 반환하는 경우가 많습니다. 스프링 부트와 JPA를 사용해서 API를 개발할 때 주의할 점과 올바른 설계 방향을 이해하고, 성능까지 고려해서 API를 완성하는 것이 이번 편의 목표입니다.
2편은 1편에서 만든 도메인을 기반으로 외부에서 사용할 수 있는 REST API를 개발합니다. 그리고 단계적으로 조회용 API의 성능을 최적화 합니다. 이 과정을 통해 실무에서 꼭 필요한 JPA의 조회 쿼리 튜닝과 관련된 부분을 속 시원하게 풀어드립니다.
API 개발 기본: 기본적은 등록, 수정, 조회용 REST API를 개발합니다.
API 개발 고급: 실무에서 JPA로 조회용 API를 개발할 때, 주의점과 올바른 설계 방향을 알려드립니다. JPA 지연 로딩 이슈를 해결하고, 단계별로 다양한 성능 최적화 방안을 설명합니다.
실무 필수 최적화: 스프링 부트와 JPA를 사용할 때 주의해서 사용하지 않으면 실무에서 장애로 이어질 수 있는 내용들을 다룹니다.
학습 방법
이 강의는 대부분 실습으로 이루어져 있습니다. 따라서 처음부터 끝까지 본인이 직접 코딩을 하면서 강의를 따라가야 가장 많은 것을 얻을 수 있습니다.
참고로 이 강의는 스프링 부트나 JPA 자체는 자세히 설명하지 않습니다. 이 기술들을 어느 정도 아는 분들이 이 기술들을 최대한 잘 활용할 수 있게, 그래서 실무에서 웹 애플리케이션을 잘 만들 수 있도록 도와드리는 것이 목표입니다. 따라서 기본적으로 스프링이나 JPA에 대한 이해가 있는 상태에서 이 강의를 듣는 것을 권장합니다. 하지만 스프링이나 JPA를 아직 잘 몰라도, 끝까지 따라하면 자바로 웹 애플리케이션을 어떻게 개발하고 완성하는지 전체적인 감을 잡을 수 있습니다. 이후 본인이 부족하다고 생각하는 기반기술을 채워가는 식으로 학습하셔도 됩니다.
Sau những điều cơ bản, tôi đã hoàn thành phần đăng ký 1.
"Lỗi phương ngữ Seoul!x" Tôi nghĩ nội dung bài giảng rất nhiều thông tin, cũng như kỷ niệm bật cười khi mọi thứ không thẳng hàng trong khi sao chép và dán lệnh bằng cách nhấn phím lệnh hai lần. Bây giờ, tôi nghĩ rằng tôi cần học bí quyết để tối ưu hóa hiệu suất tối đa trong bài giảng tiếp theo!
Hẹn gặp lại bạn ở bài đánh giá tiếp theo Haha!
Một bài giảng mà bạn có thể hiểu được mọi lúc nhờ những lời giải thích bổ sung xuất hiện mỗi khi bạn nghĩ về những gì đang được giải thích.
Nó giống như TMI, nhưng là một bài giảng chi tiết, trong đó mọi thứ đều được báo trước.
Một bài giảng khiến bạn luôn mong chờ bài giảng tiếp theo mỗi khi nghe giải thích.
Một bài giảng khiến bạn muốn xem nó thay vì nghĩ đến việc chơi đùa sau giờ làm việc.
Lúc đầu khi quảng cáo sách tôi nói haha, nhưng những bài giảng khiến tôi càng tò mò về nội dung sách.
Bài giảng nơi bạn có thể kế thừa Younghan(?)
Một bài giảng huyền thoại được cho là đã giúp cơ sở hạ tầng nhanh hơn sau khi bài giảng này được tải lên.
Đó là một bài giảng hấp dẫn. Tôi sẽ bỏ qua bài giảng tiếp theo
Đây là lần đầu tiên tôi thấy một bài giảng thú vị.
Xin hãy giảng thêm cho tôi... nhanh lên ㅠㅠ
Đẹp! Hóa ra mọi chuyện là điềm báo trước haha. Khi chuẩn bị bài giảng, thực ra bạn khá chi tiết? Cấu hình. cười
Tôi cũng sẽ chuẩn bị chăm chỉ cho các bài giảng khác. Cảm ơn. 2010psw ^^
Nó trở thành "Tôi có thể phát triển với Spring Boot + JPA."
Tập trung vào thực hành thực tế, như thể đến từ một địa phương? Thật tuyệt vì tôi có cảm giác như có một người anh trai đang ở ngay bên cạnh tôi để phát triển nó và dạy tôi.
"Trăm chữ đáng giá ngàn chữ!"
Cảm ơn bạn unialto.
Tôi đã cố gắng vá ngôn ngữ Seoul nhiều lần nhưng không thành công và bị khôi phục. cười
Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng hỏi bất cứ lúc nào ^^
Sau khi hoàn thành học viện Spring Framework Mybatis 6 tháng do chính phủ tài trợ
Tôi đã gia nhập một công ty sử dụng Spring FrameBoot JPA.
Lúc đầu, tôi tìm kiếm CRUD trên Google và nghiên cứu nó bằng cách gọt vỏ dưa hấu.
Có vẻ như tôi đã rất lạc lõng và gặp khó khăn.
Vì vậy, nếu tôi biết bài giảng này trước
Tôi nghĩ nó hẳn phải rất tốt.
Tôi nghĩ đây là bài giảng hay nhất tôi từng xem dành cho những người mới làm quen với JPA.
1. Nội dung mang tính thông tin
2. Giải thích chi tiết.
Tôi dự định xem bài giảng này hai lần nữa và khi đã hiểu được nguồn, tôi dự định mua sách và tìm hiểu những điều cơ bản.
Cảm ơn bạn đã đăng bài giảng hay
Lập trình viên Kang, cảm ơn bạn đã khen ngợi ^^
Bạn là một người thực sự đam mê.
Cảm ơn bạn đã giải thích các câu hỏi và câu trả lời một cách dễ hiểu để giúp đỡ người khác.
Nếu bạn có thắc mắc gì, xin vui lòng hỏi bất cứ lúc nào ^^!
Tôi nghĩ đây là một khóa học tốt để tìm hiểu các khái niệm khác nhau mà cấu trúc phụ trợ tốt yêu cầu trong khi thực sự tạo ra một dịch vụ :)
Tôi giới thiệu điều này cho những ai đang do dự về cách bắt đầu một dự án sau khi học Spring và JPA :)