สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-46

Spring Framework 7 and Spring Boot 4 Basic to Advanced

หลักสูตร Spring Framework 7 and Spring Boot 4 Basic to Advanced เป็นการอบรมพัฒนาเว็บแอปและ API ด้วย Spring รุ่นปัจจุบัน ตั้งแต่ Dependency Injection, Spring Data JPA, Spring MVC, Spring Security และการทดสอบ จนถึง RESTful API และ Docker เหมาะกับนักพัฒนา Java และทีมที่ต้องอัปเกรดระบบ Spring รุ่นเก่า

อัปเดตล่าสุด
ราคาเริ่มต้น 11,250 บาท / ท่าน 12,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา30 ชั่วโมง · 5 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

Spring ยังเป็นเฟรมเวิร์กหลักของระบบ Java ในองค์กร ทั้งเว็บแอป ระบบหลังบ้าน และ API แต่ตัวอย่างจำนวนมากยังอิง Spring Framework 5 กับ Spring Boot 2 ซึ่งใช้ javax, RestTemplate และรูปแบบการตั้งค่าที่เปลี่ยนไปแล้ว ทีมที่จะเริ่มโปรเจกต์ใหม่หรืออัปเกรดระบบเดิมจึงต้องเข้าใจทั้งแก่นของ Spring อย่าง Dependency Injection และแนวปฏิบัติปัจจุบันของ Spring Boot 4 และ Spring Framework 7

หลักสูตรนี้พาผู้เรียนจากพื้นฐานถึงขั้นประยุกต์ด้วย Spring Boot 4.1, Spring Framework 7 และ Java 25 LTS ตั้งแต่ IoC และ Dependency Injection ตามหลัก SOLID การตั้งค่าและ Profile เข้าถึงข้อมูลด้วย Spring Data JPA และ Hibernate พร้อม Transaction และ Flyway สร้างเว็บแอปด้วย Spring MVC และ Thymeleaf ทั้ง Form, Validation และอัปโหลดไฟล์ ป้องกันด้วย Spring Security เขียน Test ด้วย JUnit และ Testcontainers สร้าง RESTful API เรียก API ภายนอกด้วย RestClient รู้จัก WebFlux และ Virtual Threads แล้วนำขึ้น Docker พร้อม CI ปิดท้ายด้วย Capstone (อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • สร้างโปรเจกต์ Spring Boot 4 บน Java 25 และเข้าใจสิ่งที่เปลี่ยนจาก Spring 5
  • ใช้ IoC, Dependency Injection, การตั้งค่า และ Profile ได้ถูกต้องตามหลัก SOLID
  • เข้าถึงข้อมูลด้วย Spring Data JPA และ Hibernate พร้อม Transaction และ Flyway
  • สร้างเว็บแอปด้วย Spring MVC และ Thymeleaf พร้อม Form, Validation และการจัดการ Exception
  • ป้องกันแอปด้วย Spring Security และเขียน Unit Test กับ Integration Test ได้
  • สร้างและเรียกใช้ RESTful API ด้วย RestClient และเข้าใจทางเลือก WebFlux กับ Virtual Threads
  • Build เป็น Docker Image และตั้ง CI ให้โปรเจกต์ได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนา Java ที่ต้องการเริ่มใช้ Spring Boot ในงานจริง
  • นักพัฒนาที่ดูแลระบบ Spring 5 หรือ Spring Boot 2 และต้องวางแผนอัปเกรด
  • นักพัฒนา Java EE หรือ Jakarta EE ที่ต้องการย้ายมาใช้ Spring
  • นักศึกษาและทีมไอทีที่ต้องการทักษะ Backend ด้วย Java

พื้นฐานของผู้เข้าอบรม

  • เขียนภาษา Java และเข้าใจ OOP ได้ดี เช่น Class, Interface และ Collection
  • พื้นฐาน HTML, CSS และ JavaScript
  • พื้นฐานฐานข้อมูลและ SQL เช่น MySQL, PostgreSQL, SQL Server หรือ Oracle
  • เคยเขียน Servlet หรือเว็บด้วย Java มาบ้างจะช่วยให้เข้าใจเร็วขึ้น แต่ไม่บังคับ
  • โน้ตบุ๊กที่ติดตั้ง JDK, Docker Desktop และ IDE ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Spring Framework Basic to Advanced เนื้อหาเขียนใหม่ให้ตรงกับ Spring Boot 4.1, Spring Framework 7 และ Java 25 LTS อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนโปรเจกต์เดียวที่ต่อยอดทุกวัน ระดับ Intermediate วันแรกปูแก่นของ Spring ทั้ง Dependency Injection และการตั้งค่า วันที่สองเข้าถึงข้อมูลด้วย Spring Data JPA

และเริ่มเว็บด้วย Spring MVC วันที่สามทำเว็บแอป CRUD พร้อม Security และ Test วันที่สี่สร้างและเรียกใช้ RESTful API และรู้จัก WebFlux กับ Virtual Threads วันที่ห้าป้องกัน API ด้วย JWT ทำ Observability, Docker และ CI แล้วปิดท้ายด้วย Capstone หลักสูตรนี้ใช้ภาษา Java ต่างจากหลักสูตร RESTful API with Spring Boot and Kotlin และไม่ครอบคลุมระบบ Microservices ซึ่งมีหลักสูตรเฉพาะ ผู้เรียนจะได้ซอร์สโค้ดทุก Lab และ Checklist การอัปเกรดระบบ Spring เดิมกลับไปใช้งาน

Day 1 แก่นของ Spring และการตั้งค่า

Section 1: Lab: เริ่มต้น Spring ปี 2026

  • ระบบนิเวศของ Spring: Framework, Boot, Data, Security และสิ่งที่เปลี่ยนจาก Spring 5
  • Java 25 LTS, Jakarta EE namespace และ Jackson 3
  • สร้างโปรเจกต์จาก Spring Initializr ด้วย Maven หรือ Gradle
  • โครงสร้างโปรเจกต์ Starter, Auto-configuration และ DevTools
  • Lab: เว็บแอปแรกพร้อม Controller และหน้า Thymeleaf

Section 2: Lab: IoC และ Dependency Injection

  • IoC Container, ApplicationContext และ Bean
  • Constructor Injection และเหตุผลที่ไม่ควรใช้ Field Injection
  • @Component, @Service, @Repository และ Component Scan
  • เลือก Bean ด้วย @Qualifier และ @Primary
  • Lab: เขียนโค้ดแบบไม่ใช้ Spring แล้วปรับเป็น DI เพื่อเทียบผล

Section 3: Lab: SOLID, Configuration และ Bean Lifecycle

  • หลัก SOLID ทั้ง 5 ข้อกับการออกแบบ Service ใน Spring
  • @Configuration และ @Bean แบบ Java Config และการอ่าน XML Config ในระบบเดิม
  • Bean Scope: Singleton, Prototype และ Request
  • Bean Lifecycle และ Callback ตอนเริ่มและปิดแอป
  • Lab: สลับ Implementation ของบริการแจ้งเตือนตามสภาพแวดล้อม

Section 4: Lab: External Configuration และ Profile

  • application.properties กับ application.yml
  • ลำดับความสำคัญของค่าตั้ง Environment Variable และ Command Line
  • @ConfigurationProperties ร่วมกับ Java Record และ Validation
  • Profile สำหรับ dev, test และ prod และการเก็บ Secret อย่างปลอดภัย
  • Lab: ตั้งค่าแอปให้ทำงานต่างกันตาม Profile โดยไม่แก้โค้ด
Day 2 เข้าถึงข้อมูลและเริ่มเว็บด้วย Spring MVC

Section 5: Lab: Spring Data JPA และ Hibernate

  • Entity, Id และการ Mapping ความสัมพันธ์ One-to-many และ Many-to-many
  • equals และ hashCode ของ Entity ที่ถูกต้อง
  • JpaRepository และ CRUD พื้นฐาน
  • Docker Compose Support ของ Spring Boot สำหรับรันฐานข้อมูลตอนพัฒนา
  • Lab: โมเดลข้อมูลระบบคลังหนังสือ (Book, Author และ Publisher) พร้อมข้อมูลตั้งต้น

Section 6: Lab: Query, Pagination และ Projection

  • Derived Query Method และ @Query ด้วย JPQL
  • Pagination และ Sorting ด้วย Pageable
  • Projection ด้วย Java Record สำหรับดึงเฉพาะข้อมูลที่ต้องใช้
  • ปัญหา N+1 Query และการแก้ด้วย Fetch Join และ Entity Graph
  • Lab: หน้าค้นหาหนังสือแบบแบ่งหน้าที่ Query ไม่ซ้ำซ้อน

Section 7: Lab: Transaction และ Database Migration

  • @Transactional, Propagation และ Rollback Rule
  • Read-only Transaction และข้อผิดพลาดที่พบบ่อย
  • จัดการ Schema ด้วย Flyway แทนการให้ Hibernate สร้างตารางเอง
  • ตั้งค่า PostgreSQL หรือ MySQL สำหรับแต่ละ Profile
  • Lab: เพิ่มคอลัมน์และข้อมูลตั้งต้นด้วย Flyway Migration

Section 8: Lab: Spring MVC และ Thymeleaf

  • DispatcherServlet, Controller, Model และ View
  • @GetMapping, @PathVariable และ @RequestParam
  • Thymeleaf Template, Layout และ Fragment
  • ใช้ Bootstrap ผ่าน WebJars และ Static Resource
  • Lab: หน้ารายการและหน้ารายละเอียดหนังสือ
Day 3 เว็บแอป CRUD ความปลอดภัย และการทดสอบ

Section 9: Lab: Form, CRUD และ Validation

  • รับ Form Post ด้วย Command Object และ DTO
  • สร้าง แก้ไข และลบข้อมูลพร้อม Redirect หลังบันทึก
  • Bean Validation ด้วย @Valid, @NotBlank และ Constraint ที่สร้างเอง
  • แสดงข้อความ Error และรองรับหลายภาษาด้วย MessageSource
  • Lab: Form เพิ่มและแก้ไขหนังสือพร้อมผู้แต่ง

Section 10: Lab: อัปโหลดไฟล์และจัดการ Exception

  • Dropdown จาก Enum และข้อมูลอ้างอิง
  • อัปโหลดรูปภาพด้วย MultipartFile และจำกัดขนาดไฟล์
  • @ExceptionHandler, @ControllerAdvice และ @ResponseStatus
  • หน้า Error 404 และ 500 ที่เป็นมิตรกับผู้ใช้
  • Lab: อัปโหลดรูปปกหนังสือและจัดการกรณีรหัสไม่ถูกต้อง

Section 11: Lab: Spring Security

  • SecurityFilterChain และการตั้งค่า HttpSecurity
  • Form Login, Logout และการเข้ารหัสรหัสผ่านด้วย PasswordEncoder
  • UserDetailsService กับผู้ใช้จากฐานข้อมูล
  • สิทธิ์ตาม Role ทั้งระดับ URL และระดับ Method และการป้องกัน CSRF
  • Lab: ระบบ Login แยกสิทธิ์ผู้ใช้ทั่วไปกับผู้ดูแลระบบ

Section 12: Lab: การทดสอบแอป Spring

  • Unit Test ด้วย JUnit และ Mockito
  • @WebMvcTest กับ MockMvc และ MockMvcTester
  • @DataJpaTest สำหรับทดสอบ Repository
  • Integration Test กับฐานข้อมูลจริงด้วย Testcontainers และ @ServiceConnection
  • Lab: เขียน Test ให้ Controller, Service และ Repository ของระบบคลังหนังสือ
Day 4 RESTful API และการเรียกบริการภายนอก

Section 13: Lab: RESTful Web Services ด้วย Spring MVC

  • หลักการ REST และ Richardson Maturity Model
  • @RestController กับ GET, POST, PUT, PATCH และ DELETE
  • DTO ด้วย Java Record และการแปลงข้อมูลกับ Entity
  • ResponseEntity, Status Code และทดสอบด้วย Postman หรือ Bruno
  • Lab: API จัดการลูกค้าและหมวดสินค้าแบบครบทุก Method

Section 14: Lab: Error Response, API Versioning และเอกสาร API

  • รูปแบบ Error มาตรฐานด้วย ProblemDetail ตาม RFC 9457
  • @RestControllerAdvice สำหรับ Error กลางของ API
  • API Versioning ด้วยความสามารถใหม่ของ Spring Framework 7
  • สร้างเอกสาร OpenAPI และ Swagger UI ด้วย springdoc-openapi
  • Lab: เพิ่ม API รุ่นที่ 2 โดยไม่กระทบผู้ใช้รุ่นเดิม

Section 15: Lab: เรียก API ภายนอกด้วย RestClient

  • RestClient แทน RestTemplate ที่ถูก Deprecated
  • HTTP Service Client ด้วย Interface และ @HttpExchange
  • จัดการ Timeout, Error และการลองใหม่
  • แนวทางย้ายโค้ด RestTemplate เดิมทีละส่วน
  • Lab: ดึงข้อมูลจาก API ภายนอกมาเสริมข้อมูลสินค้า

Section 16: Reactive และ Virtual Threads

  • Reactive Programming, Mono และ Flux แบบภาพรวม
  • Spring WebFlux และ WebClient เหมาะกับงานแบบไหน
  • Virtual Threads ด้วย spring.threads.virtual.enabled บน Java 21 ขึ้นไป
  • เลือกระหว่าง Spring MVC กับ Virtual Threads และ WebFlux
  • Lab: วัดผลการเรียก API หลายตัวพร้อมกันแบบเดิมเทียบกับ Virtual Threads
Day 5 API Security, Production และ Capstone

Section 17: Lab: ป้องกัน API ด้วย JWT

  • Session กับ Token และเมื่อใดควรใช้แบบไหน
  • OAuth2 Resource Server และการตรวจ JWT
  • กำหนดสิทธิ์ตาม Scope และ Role
  • CORS และการแยก SecurityFilterChain ของเว็บกับ API
  • Lab: ออก Token และป้องกัน Endpoint ของผู้ดูแลระบบ

Section 18: Lab: Actuator, Observability และ Logging

  • Spring Boot Actuator: Health, Info และ Metrics
  • Micrometer และการส่ง Metric ไปยังระบบ Monitoring
  • Structured Logging รูปแบบ JSON
  • ตั้งค่า Endpoint ให้ปลอดภัยก่อนขึ้น Production
  • Lab: Health Check และ Dashboard Metric ของแอป

Section 19: Lab: Build, Docker และ CI

  • Executable JAR และการตั้งค่า JVM
  • สร้าง Docker Image ด้วย Buildpacks หรือ Dockerfile
  • ภาพรวม GraalVM Native Image และข้อควรพิจารณา
  • CI ด้วย GitHub Actions: Build, Test และสร้าง Image
  • Lab: Pipeline ที่รัน Test ทุกครั้งที่ Push และได้ Image พร้อม Deploy

Section 20: Workshop: Capstone เว็บแอปและ API ครบวงจร

  • เลือกโจทย์ เช่น ระบบจองห้องประชุมหรือระบบคลังสินค้า
  • ออกแบบ Entity, Service, หน้าเว็บ และ API
  • พัฒนาให้ครบทั้ง JPA, Validation, Security และ Test
  • Build เป็น Docker Image และรันด้วย docker-compose
  • นำเสนอผลงาน รีวิวโค้ดร่วมกัน และวางแผนอัปเกรดระบบ Spring เดิม

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Dependency Injection ใน Spring คืออะไร

Dependency Injection คือการให้ Spring Container สร้างอ็อบเจกต์ (Bean) และส่ง Dependency ที่คลาสต้องใช้เข้ามาให้ แทนที่คลาสจะสร้างเองด้วย new ทำให้คลาสผูกกับ Interface แทนคลาสจริง สลับ Implementation และเขียน Unit Test ด้วย Mock ได้ง่าย วิธีที่แนะนำคือ Constructor Injection ซึ่งใน Spring รุ่นปัจจุบันไม่ต้องใส่ @Autowired เมื่อมี Constructor เดียว ส่วน @Qualifier และ @Primary ใช้เลือก Bean เมื่อมีหลายตัวที่ตรงกับชนิดเดียวกัน

เริ่มสร้างเว็บแอปด้วย Spring Boot ทำอย่างไร

เริ่มจาก Spring Initializr ที่ start.spring.io เลือก Maven หรือ Gradle รุ่น Java ซึ่ง Spring Boot 4 ต้องใช้ Java 17 ขึ้นไปและแนะนำรุ่น LTS ล่าสุด แล้วเลือก Dependency ที่ต้องใช้ เช่น Spring Web, Spring Data JPA, Thymeleaf และ Driver ฐานข้อมูล เปิดโปรเจกต์ใน IDE อย่าง IntelliJ IDEA หรือ VS Code สร้าง Entity และ Repository เขียน Controller รับคำขอและส่งข้อมูลให้ Template จากนั้นรันคลาสหลักที่มี @SpringBootApplication ซึ่งมีเว็บเซิร์ฟเวอร์ฝังมาในตัว

หลักการ SOLID ในการออกแบบเชิงวัตถุมีอะไรบ้าง

SOLID คือหลักการออกแบบเชิงวัตถุห้าข้อ ได้แก่ Single Responsibility หนึ่งคลาสมีหน้าที่เดียว Open/Closed เปิดให้ขยายโดยไม่ต้องแก้โค้ดเดิม Liskov Substitution คลาสลูกต้องใช้แทนคลาสแม่ได้โดยพฤติกรรมไม่ผิด Interface Segregation แยก Interface ให้เล็กตามการใช้งาน และ Dependency Inversion ให้โค้ดพึ่งพา Abstraction แทนคลาสจริง ซึ่งเป็นแนวคิดเบื้องหลัง Dependency Injection ของ Spring

หลักสูตร Spring Framework 7 and Spring Boot 4 Basic to Advanced เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนา Java ที่ต้องการใช้ Spring Boot ในงานจริง ทีมที่ดูแลระบบ Spring 5 หรือ Spring Boot 2 และต้องวางแผนอัปเกรด รวมถึงนักพัฒนา Jakarta EE ที่จะย้ายมาใช้ Spring ควรเขียน Java และเข้าใจ OOP ได้ดี มีพื้นฐาน HTML, CSS, JavaScript และ SQL และมีโน้ตบุ๊กที่ติดตั้ง JDK, Docker Desktop และ IDE ได้ เคยเขียน Servlet มาก่อนจะช่วยให้เข้าใจเร็วขึ้นแต่ไม่บังคับ

เรียนจบหลักสูตร Spring Framework 7 and Spring Boot 4 Basic to Advanced แล้วทำอะไรได้บ้าง

สร้างโปรเจกต์ Spring Boot 4 บน Java 25 ใช้ Dependency Injection การตั้งค่าและ Profile ได้ถูกต้อง เข้าถึงข้อมูลด้วย Spring Data JPA พร้อม Transaction และ Flyway สร้างเว็บแอปด้วย Spring MVC และ Thymeleaf ป้องกันด้วย Spring Security เขียน Test ด้วย JUnit และ Testcontainers สร้างและเรียกใช้ RESTful API ด้วย RestClient แล้ว Build เป็น Docker Image พร้อม CI ได้ และวางแผนอัปเกรดระบบ Spring เดิมได้ ผู้ผ่านการอบรมได้รับประกาศนียบัตร (Certificate of Completion)

จัดอบรมหลักสูตร Spring Framework 7 and Spring Boot 4 Basic to Advanced ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกอัปเกรดโค้ด Spring รุ่นเดิมที่ทีมใช้อยู่ หรือใช้โจทย์ Capstone จากระบบงานจริง ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449