Quickstarters
Feature Overview
How to Build a Backend for Spring Boot?
31 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีการสร้างแบ็กเอนด์สำหรับ spring boot โดยใช้ back4app เราจะเดินผ่านการเชื่อมต่อแอปพลิเคชัน spring boot ของคุณ (แอปพลิเคชันเว็บที่ใช้ java ซึ่งใช้ spring framework) กับฟีเจอร์ที่สำคัญของ back4app—เช่น การจัดการฐานข้อมูล, cloud code, rest และ graphql apis, การตรวจสอบสิทธิ์ผู้ใช้, การจัดเก็บไฟล์, และการค้นหาแบบเรียลไทม์ โดยการทำตามขั้นตอนเหล่านี้ คุณจะสามารถรวมฟีเจอร์ของ spring boot เข้ากับ parse platform ที่ทรงพลังซึ่งจัดเตรียมโดย back4app ได้อย่างราบรื่น การใช้ back4app เป็นแบ็กเอนด์ของคุณจะช่วยให้การเชื่อมต่อฐานข้อมูล, การกำหนดค่าความปลอดภัย, และกระบวนการปรับใช้ของคุณง่ายขึ้นมาก มันช่วยให้คุณหลีกเลี่ยงความซับซ้อนของการตั้งค่าเซิร์ฟเวอร์และการบริหารฐานข้อมูลด้วยตนเอง ดังนั้นคุณจึงสามารถมุ่งเน้นไปที่การเขียนตรรกะทางธุรกิจของแอปพลิเคชัน spring boot ของคุณ เมื่อสิ้นสุดบทเรียนนี้ คุณจะมีแบ็กเอนด์ที่มั่นคงและสามารถขยายได้ซึ่งสามารถเป็นพื้นฐานสำหรับแอปเว็บหรือแอปพลิเคชัน java ของคุณที่ทำงานบน spring web และสามารถขยายไปยังการปรับใช้ที่พร้อมสำหรับการผลิตได้อย่างง่ายดาย ข้อกำหนดเบื้องต้น เพื่อให้เสร็จสิ้นคู่มือนี้ โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้ บัญชี back4app และโครงการ back4app ใหม่ เริ่มต้นใช้งาน back4app https //www back4app com/docs/get started/new parse app ลงทะเบียนฟรีหากคุณยังไม่มีบัญชี สภาพแวดล้อมการพัฒนา java คุณจะต้องติดตั้ง java se 8 หรือสูงกว่า https //www oracle com/java/technologies/downloads/ และ maven https //maven apache org/ หรือ gradle https //gradle org/ สิ่งนี้จำเป็นสำหรับการตั้งค่า สภาพแวดล้อมการพัฒนา ของคุณ พื้นฐานของ spring boot ความคุ้นเคยกับการสร้าง แอปพลิเคชัน spring boot หากจำเป็น โปรดดูที่ เอกสารทางการของ spring boot https //spring io/projects/spring boot เพื่อเรียนรู้เกี่ยวกับ spring security , คอนโทรลเลอร์, บริการ และอื่นๆ ความรู้พื้นฐานเกี่ยวกับ parse/back4app การรู้ว่าแพลตฟอร์ม parse ทำงานอย่างไรเป็นประโยชน์ หากคุณเป็นมือใหม่ โปรดตรวจสอบ เอกสารของ back4app https //www back4app com/docs การเตรียมข้อกำหนดเบื้องต้นเหล่านี้จะช่วยให้คุณมีประสบการณ์การเรียนรู้ที่ราบรื่น มาลงมือสร้างแบ็กเอนด์ของคุณด้วย back4app กันเถอะ! ขั้นตอนที่ 1 – การสร้างโครงการใหม่บน back4app และการเชื่อมต่อ ทำไมขั้นตอนนี้จึงจำเป็น การสร้างโครงการ back4app ใหม่เป็นพื้นฐานของแบ็กเอนด์ของคุณ สิ่งนี้จะเก็บฐานข้อมูล การตั้งค่าคอนฟิก กฎความปลอดภัย และช่วยให้คุณจัดการข้อมูลของ แอปพลิเคชัน spring boot ผ่านแพลตฟอร์ม parse การสร้างโปรเจกต์ back4app เข้าสู่ระบบบัญชี back4app ของคุณ คลิก “new app” บนแดชบอร์ด back4app ของคุณ ระบุชื่อ สำหรับโปรเจกต์ของคุณ (เช่น “springboot backend tutorial”) และทำการตั้งค่าให้เสร็จสิ้น เมื่อเสร็จสิ้น คุณจะเห็นโปรเจกต์ใหม่ของคุณปรากฏในแดชบอร์ด back4app การติดตั้งและกำหนดค่าของ parse java sdk (ไม่บังคับ) back4app ใช้แพลตฟอร์ม parse ซึ่งมี java sdk ที่สามารถรวมเข้ากับแอป spring boot ของคุณได้ หากคุณต้องการ คุณยังสามารถทำการเรียก rest/graphql โดยตรงจาก โค้ด java developer ของคุณได้ อย่างไรก็ตาม การใช้ sdk สามารถทำให้การดำเนินการต่างๆ เช่น การบันทึกข้อมูล การค้นหา และการตรวจสอบผู้ใช้ ง่ายขึ้น maven dependency (ตัวอย่าง) \<dependency> \<groupid>com parse\</groupid> \<artifactid>parse\</artifactid> \<version>1 26 0\</version> \</dependency> ใน คลาสแอปพลิเคชันหลักของ spring boot หรือคลาสการกำหนดค่า ให้เริ่มต้น parse @springbootapplication public class springbootbackendtutorialapplication { public static void main(string\[] args) { // initialize parse before running the application parse initialize(new parse configuration builder("your app id") server("https //parseapi back4app com/") clientkey("your client key") build() ); springapplication run(springbootbackendtutorialapplication class, args); } } อย่าลืมเปลี่ยน “your app id” และ “your client key” ด้วยข้อมูลประจำตัวที่พบในแดชบอร์ด back4app ของคุณ คุณสามารถดูได้ที่ การตั้งค่าแอป หรือ ความปลอดภัย & คีย์ ขั้นตอนที่ 2 – การตั้งค่าฐานข้อมูล 1\ การสร้างโมเดลข้อมูล การ เชื่อมต่อฐานข้อมูล ของคุณจัดการโดย back4app คุณสามารถสร้างโมเดลข้อมูล (คลาส) ในแดชบอร์ดหรือให้มันถูกสร้างขึ้นโดยอัตโนมัติเมื่อบันทึกวัตถุผ่าน parse sdk สำหรับการควบคุมที่ดีกว่า ให้ไปที่แดชบอร์ด back4app และ คลิก “ฐานข้อมูล” สร้างคลาสใหม่ (เช่น “todo”) เพิ่มคอลัมน์ (ฟิลด์) เช่น title (string) และ iscompleted (boolean) 2\ การสร้างโมเดลข้อมูลโดยใช้ ai agent back4app มี ai agent ที่สามารถสร้างสคีมาสำหรับคุณ เปิด ai agent จากแดชบอร์ดหรือเมนู อธิบายโมเดลข้อมูลของคุณ ด้วยภาษาที่เข้าใจง่าย ให้ ai agent จัดการการสร้างคลาสและฟิลด์ที่เกี่ยวข้อง 3\ การอ่านและเขียนข้อมูลโดยใช้ sdk หากคุณได้เพิ่ม parse java sdk ลงใน spring framework โครงการของคุณ คุณสามารถโต้ตอบกับคลาสได้ดังนี้ @service public class todoservice { public parseobject createtodoitem(string title, boolean iscompleted) throws parseexception { parseobject todo = new parseobject("todo"); todo put("title", title); todo put("iscompleted", iscompleted); return todo save(); // throws parseexception if something goes wrong } public list\<parseobject> fetchtodos() throws parseexception { parsequery\<parseobject> query = parsequery getquery("todo"); return query find(); } } 4\ การอ่านและเขียนข้อมูลโดยใช้ rest api อีกทางเลือกหนึ่ง คุณสามารถโต้ตอบกับฐานข้อมูล back4app ผ่าน rest endpoints curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ การอ่านและเขียนข้อมูลโดยใช้ graphql api back4app ยังมี graphql endpoint mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ การทำงานกับ live queries (ตัวเลือก) หาก เว็บแอปของคุณ ต้องการการอัปเดตแบบเรียลไทม์ คุณสามารถเปิดใช้งาน live queries ใน back4app dashboard และเชื่อมต่อกับ แอปพลิเคชันเว็บสปริง โดยทั่วไปแล้ว คุณจะสมัครสมาชิกเพื่อรับเหตุการณ์ในไคลเอนต์ java หรือใช้เครื่องมือด้านหน้า (front end) ที่รองรับ live queries ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps ภาพรวมสั้น ๆ acls ของ back4app (access control lists) และ clps (class level permissions) ปกป้องข้อมูลของคุณ สิ่งนี้สามารถเสริมสร้างหรือเสริมความปลอดภัยของ ความปลอดภัยของสปริง เพื่อปกป้อง แอปพลิเคชัน java ของคุณ ต่อไป ขั้นตอนตามลำดับ class level permissions (clps) กำหนดค่าในแท็บ “database” ภายใต้ “class level permissions ” acls ตั้งค่าการอนุญาตระดับวัตถุในโค้ดหรือจากแดชบอร์ด สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ แนวทางความปลอดภัยของแอป https //www back4app com/docs/security/parse security ขั้นตอนที่ 4 – การเขียนฟังก์ชัน cloud code ทำไมถึงใช้ cloud code cloud code ช่วยให้คุณสามารถย้ายหรือปกป้อง ตรรกะทางธุรกิจ ที่ละเอียดอ่อนไปยังเซิร์ฟเวอร์ โดยทำงานในสภาพแวดล้อมที่ควบคุมได้ ซึ่งจะมีประโยชน์โดยเฉพาะหากคุณต้องการตรรกะที่ไม่ควรเปิดเผยในฝั่งลูกค้าหรือหากต้องการรวม api ภายนอก ฟังก์ชันตัวอย่าง parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) throw new error('no text provided'); return { length text length }; }); การปรับใช้ ใช้ back4app cli https //www back4app com/docs/local development/parse cli หรือ back4app dashboard เพื่อปรับใช้โค้ดของคุณ จากนั้นคุณสามารถเรียกฟังก์ชันโดยตรงจาก spring boot ผ่าน java sdk, rest หรือ graphql ขั้นตอนที่ 5 – การกำหนดค่าการตรวจสอบสิทธิ์ การตรวจสอบสิทธิ์ผู้ใช้ คลาส parse user จัดการการลงทะเบียนผู้ใช้ การเข้าสู่ระบบ และโทเค็นเซสชัน คุณสามารถรวมสิ่งนี้เข้ากับ แอปพลิเคชัน spring boot ของคุณได้โดยการเรียกใช้ java sdk หรือใช้ rest calls ลงทะเบียน (ตัวอย่าง java sdk) public parseuser signupuser(string username, string password, string email) throws parseexception { parseuser user = new parseuser(); user setusername(username); user setpassword(password); user setemail(email); return user signup(); // returns the newly created user } การเข้าสู่ระบบด้วยโซเชียล สำหรับผู้ให้บริการเช่น google หรือ facebook, parse รองรับการเข้าสู่ระบบแบบ oauth ตรวจสอบที่ เอกสารการเข้าสู่ระบบด้วยโซเชียล https //www back4app com/docs/platform/sign in with apple สำหรับรายละเอียดการตั้งค่าเพิ่มเติม ขั้นตอนที่ 6 – การจัดการการจัดเก็บไฟล์ การตั้งค่าการจัดเก็บไฟล์ ใช้คลาส parsefile เพื่ออัปโหลดไฟล์ หรือคุณสามารถใช้ rest หากคุณต้องการ // example using java sdk parsefile file = new parsefile("myimage png", filebytes); file save(); // uploads to back4app parseobject photo = new parseobject("photo"); photo put("imagefile", file); photo save(); ตัวอย่าง curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type text/plain" \\ \ data binary '@myimage png' \\ https //parseapi back4app com/files/myimage png ขั้นตอนที่ 7 – การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน ภาพรวม เพื่อให้แน่ใจว่าบัญชีผู้ใช้มีความปลอดภัยใน java developer เวิร์กโฟลว์ของคุณ ให้เปิดใช้งานการตรวจสอบอีเมลและการรีเซ็ตรหัสผ่านในแดชบอร์ด back4app ของคุณ การกำหนดค่า เปิดใช้งานการตรวจสอบอีเมล ภายใต้การตั้งค่าอีเมลของแอปของคุณ ตั้งค่าเทมเพลตอีเมล เพื่อประสบการณ์ผู้ใช้ที่ดีขึ้น ขั้นตอนที่ 8 – การกำหนดตารางงานด้วย cloud jobs cloud jobs ทำอะไร งานคลาวด์ ช่วยให้คุณสามารถทำงานอัตโนมัติ เช่น การทำความสะอาดข้อมูลเป็นระยะ การส่งการแจ้งเตือนรายวัน หรือการบำรุงรักษาทั่วทั้งระบบ นี่คือตัวอย่างงาน parse cloud job('cleanupoldtodos', async () => { const query = new parse query('todo'); // example remove todos older than 30 days // // implement the job logic here }); กำหนดตารางจากแดชบอร์ด back4app ของคุณภายใต้ การตั้งค่าเซิร์ฟเวอร์ > งานพื้นหลัง ขั้นตอนที่ 9 – การรวม webhooks การกำหนดและการตั้งค่า webhooks ช่วยให้ แอปพลิเคชัน java ของคุณสามารถส่งหรือรับคำขอ http ที่ขับเคลื่อนด้วยเหตุการณ์ได้ ตัวอย่างเช่น คุณสามารถแจ้งบริการภายนอกเมื่อใดก็ตามที่มีการสร้างวัตถุในฐานข้อมูล back4app ของคุณ ไปที่แดชบอร์ด back4app > เพิ่มเติม > webhooks เพิ่ม webhook พร้อมกับจุดสิ้นสุดเป้าหมาย ตั้งค่าทริกเกอร์ สำหรับเหตุการณ์ (สร้าง, อัปเดต, ลบ) ขั้นตอนที่ 10 – การสำรวจแผงผู้ดูแล back4app จะหามันได้ที่ไหน แอปผู้ดูแล back4app admin app เป็นอินเทอร์เฟซที่มุ่งเน้นโมเดลและใช้งานง่ายสำหรับสมาชิกในทีมที่ไม่ใช่เทคนิคในการดูและแก้ไขข้อมูล ไปที่ แดชบอร์ดแอป > เพิ่มเติม > แอปผู้ดูแล เพื่อเปิดใช้งานมัน เลือกซับโดเมนและสร้างผู้ใช้แอดมินคนแรกของคุณ จากนั้นเข้าสู่ระบบเพื่อจัดการข้อมูลของคุณโดยไม่ต้องแตะต้องโค้ด บทสรุป ขอแสดงความยินดีที่คุณได้ทำการรวม spring boot กับ back4app เสร็จสิ้น! คุณได้เห็นวิธีการสร้างแบ็กเอนด์สำหรับ spring boot ที่จัดการข้อมูล การตรวจสอบสิทธิ์ ไฟล์ การสมัครสมาชิกแบบเรียลไทม์ และงานที่กำหนดเวลา—ทั้งหมดนี้มีค่าใช้จ่ายต่ำ วิธีการที่แข็งแกร่งและปรับขนาดได้นี้ช่วยให้คุณมุ่งเน้นไปที่การเขียนตรรกะทางธุรกิจแทนที่จะต้องกังวลเกี่ยวกับรายละเอียดของเซิร์ฟเวอร์หรือฐานข้อมูลในระดับต่ำ คุณมี สร้างโปรเจกต์ back4app และเชื่อมต่อกับเฟรมเวิร์ก spring ของคุณ เรียนรู้วิธีการจัดการการเชื่อมต่อฐานข้อมูลของคุณด้วยคลาสและโมเดลข้อมูล ดำเนินการ acls, clps, ฟังก์ชัน cloud code และการจัดตารางด้วย cloud jobs กำหนดค่าการจัดเก็บไฟล์, การตรวจสอบสิทธิ์ผู้ใช้, และฟีเจอร์ขั้นสูงเช่น webhooks ด้วยพื้นฐานเหล่านี้ แอปพลิเคชัน spring boot ของคุณพร้อมที่จะเติบโตเป็นระบบที่พร้อมสำหรับการผลิตด้วยความปลอดภัยของ spring ที่ครบถ้วนหรือความสัมพันธ์ข้อมูลที่ซับซ้อนมากขึ้น เราขอแนะนำให้คุณสำรวจความสามารถอื่น ๆ ของ back4app และฟีเจอร์ของ spring boot ที่ช่วยเร่งการพัฒนาแอปเว็บสมัยใหม่ ขั้นตอนถัดไป ขยายขึ้นสำหรับการผลิต ปรับแต่งประสิทธิภาพ, เพิ่มการแคช, และกำหนดค่าบทบาทขั้นสูงใน clps เพิ่มการเชื่อมต่อเพิ่มเติม เชื่อมต่อกับบริการภายนอก (เกตเวย์การชำระเงิน, การวิเคราะห์, ฯลฯ) ผ่าน cloud code หรือ webhooks ปรึกษาเอกสารทางการ เพิ่มความเข้าใจของคุณเกี่ยวกับ เอกสารของ back4app https //www back4app com/docs และเทคนิค parse ขั้นสูง สำรวจบทเรียน มองหาบทเรียนเฉพาะทางเกี่ยวกับการแชทแบบเรียลไทม์, การแจ้งเตือนแบบพุช, หรือบริการที่อิงตามตำแหน่ง รวมเข้ากับการตั้งค่า spring boot ของคุณเพื่อสร้าง แอปพลิเคชันเว็บ ที่ทันสมัย โดยการใช้ประโยชน์จากความร่วมมือระหว่าง spring boot และ back4app คุณสามารถพัฒนา, บำรุงรักษา, และขยายแอปพลิเคชัน java ของคุณได้อย่างรวดเร็วในขณะที่รักษาความสะอาดของโค้ดและกระบวนการปรับใช้ที่ตรงไปตรงมา