Table of Contents
Toggleمقدمة
في هذه المقالة سوف نقوم بوضع خطة كاملة متكاملة لتعلم و إحتراف السبرنغ بوت و ايضا عرض بعض من الدورات التدريبية التي ننصح بها بشدة اذا كنت تريد تعلم Spring Boot و Spring Cloud.
بالبداية ما هو Spring Boot؟
Spring Boot هو إطار عمل (framework) لتطوير تطبيقات الويب والخدمات باستخدام لغة Java. تم تصميم Spring Boot لجعل عملية تطوير التطبيقات أسهل وأسرع من خلال توفير مجموعة من التسهيلات والإعدادات الافتراضية التي تسمح للمطورين بالتركيز على كتابة الشفرة وتطوير الميزات بدلاً من التركيز على إعدادات معقدة.
بعض ميزات Spring Boot :
إعداد افتراضي: Spring Boot يأتي مع العديد من الإعدادات الافتراضية المناسبة لتطوير التطبيقات الشائعة مثل تكوين قواعد البيانات وإعدادات الويب وأمان الوصول والكثير غيرها.
ضمان الإنتاجية: Spring Boot يقلل من الجهد اللازم لإعداد وتكوين التطبيقات ويسمح للمطورين بالبدء بسرعة في تطوير الميزات الجديدة.
تضمين Tomcat أو Jetty: Spring Boot يأتي مع خيار لتضمين خوادم ويب مدمجة مثل Tomcat أو Jetty، مما يعني أنك لست بحاجة إلى تكوين خادم ويب منفصل.
تكامل سهل مع Spring Framework: Spring Boot يعتمد على Spring Framework، مما يتيح لك استخدام مكتبات Spring المختلفة بسهولة وتوفير الوقت في تكامل المكونات.
إدارة التبعيات (Actuator): يوفر Spring Boot مكتبة تسمى Spring Boot Actuator التي تمكن من مراقبة وإدارة تطبيقك بشكل مريح، بما في ذلك رصد الصحة والمتتبعات والتقارير والمزيد.
بنية مشروعية: Spring Boot يشجع على استخدام بنية مشروعية معيارية، مما يساعد على تنظيم وصيانة التطبيقات بشكل أفضل.
بشكل عام، Spring Boot يساعد على تسريع عملية تطوير تطبيقات Java ويجعلها أكثر سهولة وفعالية. إذا كنت تعمل مع Java وتبحث عن طريقة لتطوير تطبيقات ويب بسرعة وبفعالية، فإن Spring Boot يعتبر خيارًا جيدًا للنظر فيه.
خطة تعلم Spring boot :
هذه الخطة تستطيع تحميلها و عرضها كـ PDF ايضا :
- Introduction to Spring Boot:
- What is the Spring Boot framework?
- Spring Boot clean architecture: Level one
- Setting up the Environment:
- Install MySQL database
- Setup environment
- Create the first project
- Database Operations:
- Database UI Manager
- SQL Commands
- Create tables
- Delete, Insert, Select, Update operations
- Spring Data and Database Relationships:
- Understand Spring Data
- Hibernate Framework
- Working with @Query
- Working with JPQL
- Working with Native Query
- Relationships in Spring Data
- Cascade in Database Relationships
- One-To-One Relationships
- Fetching Types
- One-To-Many & Many-To-One Relationships
- Many-To-Many Relationships
- Adding custom fields not present in database tables
- Spring Boot Clean Architecture: Level two:
- Creating a new Spring Boot project
- Organizing the project structure
- Adding H2 database and configuring it
- Spring Boot Controllers and paths
- Understanding @PathVariable and @RequestParam
- Enhancing DTO using Lombok Project
- Adding Entity and Repository in the right way
- Implementing DTO using static and Builder
- Returning Response using Entity
- DTO using MapStruct
- Course Project (Backend and Frontend)
- Spring Boot Clean Structure and Stereotypes: Level three:
- Enhancing the database level with createdAt and updatedAt
- Spring Boot Architecture
- Software Architecture
- Using Utility with Stereotypes
- APIs Patch versioning
- API Versioning best practices
- Spring Boot and Java Bean Validation: Level six:
- Introduction to Spring Boot validation
- Manual validation disadvantages
- Java Bean Validation
- Spring validation and error messages
- Centralized application validation
- Pattern Validation
- Spring Data Basic Level:
- Data Access Object (DAO)
- Dependency Injection (DI) with Spring Boot
- Lombok
- Apache Maven
- Additional Topics:
- Play with Spring Boot and JSON
- Data Transfer Object (DTO) design pattern
- Postman
- Application Programming Interface (API)
- Path Variables
- Query Parameters & Path Parameters
- Controller and HTTP Request
- Multi-layered application
- MVC
- Java overview
- Java 8 Optional Class
- CurdRepository vs JpaRepository
- Object-Relational Mapping (ORM)
- Java Persistence API (JPA)
- Fetching data from the database
- Connecting the application with the database
يمكن اتباع هذه الخطوات للتعلم التدريجي لـ Spring Boot وتطبيق المفاهيم والعمليات المختلفة. يُوصى أيضًا بالمراجعة المستمرة لوثائق Spring Boot الرسمية والبحث عن مصادر إضافية للمساعدة في تعميق المفاهيم وتوسيع المعرفة.
تفاصيل لما خطة تعلم Spring Boot:
- Introduction to Spring Boot:
يتم تقديم ما هو إطار عمل Spring Boot ويتم شرح أهميته في تطوير تطبيقات Java عالية الجودة.
يتم تعريف الهندسة العكسية للتطبيقات والمزايا التي يوفرها Spring Boot للمطورين.
- Setting up the Environment:
يتم شرح كيفية تثبيت قاعدة بيانات MySQL وإعداد البيئة للبدء في تطوير تطبيقات Spring Boot.
يتم شرح كيفية إنشاء أول مشروع باستخدام Spring Boot وتهيئته للعمل بشكل صحيح.
- Database Operations:
يتم توضيح كيفية التعامل مع قواعد البيانات وإنشاء الجداول باستخدام أوامر SQL.
يتم تقديم أدوات إدارة قاعدة البيانات وكيفية استخدامها لتنفيذ العمليات الأساسية مثل الحذف والإدخال والاستعلام والتحديث.
- Spring Data and Database Relationships:
يتم شرح كيفية استخدام Spring Data للتعامل مع قواعد البيانات واستخدام إطار عمل Hibernate.
يُعرف كيفية العمل مع التعبيرات الشرطية في الاستعلامات (JPQL) والاستعلامات الأصلية (Native Query).
يتم شرح أنواع العلاقات المختلفة في قواعد البيانات مثل العلاقة واحد إلى واحد والعلاقة واحد إلى كثير والعلاقة كثير إلى كثير.
يتم توضيح كيفية إضافة حقول مخصصة غير موجودة في جداول قاعدة البيانات. - Spring Boot Clean Architecture: Level two:
يتم شرح كيفية إنشاء مشروع Spring Boot جديد بالطريقة الصحيحة.
يُعرض كيفية تنظيم هيكل المشروع بطريقة تسهل الصيانة والتطوير.
يشرح كيفية إضافة قاعدة بيانات H2 وتكوينها للاستخدام مع تطبيق Spring Boot.
يشرح كيفية استخدام وتعريف المتحكمات (Controllers) والمسارات (Paths) في Spring Boot.
يُوضح متى يجب استخدام @PathVariable و@RequestParam وكيفية استخدامهما بشكل صحيح.
يشرح كيفية تحسين Data Transfer Objects (DTO) باستخدام مشروع Lombok.
يُعرض كيفية إضافة الكائنات (Entities) والمستودعات (Repositories) بالطريقة الصحيحة.
يشرح طرق مختلفة لتنفيذ DTO باستخدام الأساليب الثابتة (static) ومنشئ البناء (Builder).
يشرح كيفية إمعالجة الاستجابة باستخدام الكائنات (Entities).
يشرح المشاكل المحتملة مع استخدام DTO يدويًا وكيفية حلها.
يُعرض كيفية استخدام MapStruct لتحويل الكائنات إلى DTO والعكس.
من أين تتعلم Spring Boot Framework؟
المصادر المجانية لتعلم Spring Boot:
تستطيع تعلم السبرنغ بوت من المصادر المجاني مثل YouTube و Udemy و ايضا Java Mastery
المصادر المدفوعة لتعلم Spring Boot:
تحميل خطة تعلم Spring Boot Roadmap:
تحميل خطة تعلم spring boot باللغة العربية – Spring Boot Roadmap pdf