تأتي أفكار هذا المشروع ورمزه من المشاريع مفتوحة المصدر DerekYRC/mini-spring وcode4craft/tiny-spring. بعد دراستها وتوسيعها واستكمالها، كتبت مقالات لتلخيص تجربتي ومشاركتها مع القراء لتعلم Spring كود المصدر معا. شكرًا جزيلاً للمساهمين في المشروع مفتوح المصدر، ويمكن للقراء أيضًا التعلم معًا واكتساب خبرة التعلم من وجهات نظر مختلفة.
مشاريع مفتوحة المصدر وكتب ممتازة .
Brother Fu هو مهندس ومهندس Java للإنترنت في الخطوط الأمامية، وقد قام بتطوير مشاريع المعاملات والتسويق، وتنفيذ العمليات ومشاريع الأحداث، وتصميم البرامج الوسيطة، وإعادة بناء النظام المنظم، وبراءات الاختراع التقنية المكتوبة. لا يقتصر دوره على تطوير أنظمة الأعمال فحسب، بل يقوم أيضًا في كثير من الأحيان بتصميم وتنفيذ بعض فئات أدوات الكود الثانوي، ويتمتع بخبرة غنية في تصميم وتنفيذ الهندسة المعمارية. على الرغم من شغفه بلغة Java، إلا أنه يحب أيضًا دراسة أجهزة إعادة الإرسال ولوحات الإدخال/الإخراج وC# وPHP، وهو معذب تقني نشط. ✏️ Wormhole · Technology Stack، مدون، مؤلف كتاب "إعادة تعلم أنماط تصميم Java"
إضافة WeChat: fusack | قم بالتركيز على |
كوكب المعرفة : هل سيحبس المبرمجون أنفسهم؟
(学习套路&源码使用)
issue
للتواصل مع الزملاء وإحراز التقدم معًا. يهدف هذا المستودع إلى تعلم كود مصدر Spring من خلال الكتابة اليدوية لنسخة مبسطة من إطار عمل Spring، ويمكنك فهم المبادئ الأساسية لـ Spring. اذهب -> مقدمة تفصيلية
أثناء عملية الكتابة اليدوية، سيتم تبسيط كود مصدر Spring، وسيتم استخراج المنطق الأساسي في الإطار العام، وسيتم تبسيط عملية تنفيذ الكود، وسيتم الاحتفاظ بالوظائف الأساسية، مثل: IOC، AOP، دورة حياة Bean، السياق والنطاق ومعالجة الموارد وتطبيقات المحتوى الأخرى.
小傅哥
، السبب الذي دفعني إلى البدء في قراءة كود مصدر Spring هو أنه عند كتابة "دليل المقابلة"، سيتم كتابة كود مصدر Spring المعني مع الكثير من الأوصاف النصية ورسومات العمليات الطويلة والكثير من إعداد المحتوى. ولكن لا يزال من الصعب جدًا على القادمين الجدد تعلم هذا الجزء من المحتوى مباشرةً، لذا الآن من أجل إعطائي والمزيد من الشركاء抓手
للتعلم، دعونا ندرس معًا ما هو الكوكب السعيد!
يدور هذا العمود حول مواد الترميز العملية، أثناء عملية التعلم، تحتاج إلى الجمع بين الأهداف التي يتعين حلها في كل فصل من المقالة، وتصميم الأفكار، وإدخالها في العملية العملية للترميز. أثناء تعلم البرمجة، من الأفضل أيضًا فهم سبب تنفيذ هذا الجزء من المحتوى بهذه الطريقة، ونمط التصميم الذي يستخدمه، وما هي الوسائل المستخدمة لتحقيق نوع الفصل بين المسؤوليات. فقط من خلال هذا التعلم يمكنك فهم عملية تنفيذ كود مصدر Spring وإتقانها بشكل أفضل، ويمكن أن يساعدك أيضًا في وضع أساس متين للدراسة المتعمقة المستقبلية والتطبيق العملي.
بالإضافة إلى ذلك، يتم دمج تعلم هذا العمود مع أنماط التصميم، ويتوافق الجزء السفلي مع تصميم وتطوير البرامج الوسيطة لـ SpringBoot، لذلك، إذا واجه القراء أنماط تصميم لا يفهمونها أثناء عملية التعلم، فيمكنهم قراءة المواد المقابلة بعد ذلك بعد تعلم الربيع، يمكنهم التدرب على محتوى البرامج الوسيطة.
كود المصدر : تم دمج كود المصدر المتضمن في هذا العمود في المشروع الحالي ويمكن مطابقته واحدًا تلو الآخر مع كود مصدر الحالة المقابل في الفصل. يمكنك تشغيل المشروع بأكمله مباشرة بعد حصولك عليه، أو يمكنك فتح وتشغيل مشروع الكود المصدري المتوافق مع كل فصل على حدة.
إذا واجهت أي مشاكل أثناء عملية التعلم، بما في ذلك: عدم القدرة على التشغيل، واقتراحات التحسين، وأخطاء النص، وما إلى ذلك، يمكنك إرسال مشكلة، أو يمكنك الاتصال بالمؤلف: WeChat للأخ小傅哥
، fustack
في كتابة محتوى العمود، يوفر كل فصل رسومات تصميمية واضحة ومخططات فصلية مقابلة، لذا أثناء عملية التعلم، يجب ألا تهتم فقط بكيفية كتابة الكود، ولكن الأهم من ذلك، فهم كيفية استخلاص محتوى هذه التصميمات في هذه العملية، يتم تحقيق جميع المحتويات الأساسية لدورة حياة Bean بشكل مستمر، كما هو موضح أدناه:
دورة حياة فول الربيع |
---|
难度【★☆☆☆☆】第01 章:开篇介绍,我要带你撸Spring 啦!
难度【★☆☆☆☆】第02 章:小试牛刀,实现一个简单的Bean容器
难度【★☆☆☆☆】第03 章:初显身手,运用设计模式,实现Bean 的定义、注册、获取
难度【★★☆☆☆】第04 章:崭露头角,基于Cglib实现含构造函数的类实例化策略
难度【★★☆☆☆】第05 章:一鸣惊人,为Bean对象注入属性和依赖Bean的功能实现
难度【★★☆☆☆】第06 章:气吞山河,设计与实现资源加载器,从Spring.xml解析和注册Bean对象
难度【★★★★☆】第07 章:所向披靡,实现应用上下文,自动识别、资源加载、扩展机制
难度【★★★☆☆】第08 章:龙行有风,向虚拟机注册钩子,实现Bean对象的初始化和销毁方法
难度【★★★☆☆】第09 章:虎行有雨,定义标记类型Aware接口,实现感知容器对象
难度【★★★☆☆】第10 章:横刀跃马,关于Bean对象作用域以及FactoryBean的实现和使用
难度【★★★★☆】第11 章:更上层楼,基于观察者实现,容器事件和事件监听器
难度【★★★★☆】第12 章:炉火纯青,基于JDK和Cglib动态代理,实现AOP核心功能
难度【★★★★★】第13 章:行云流水,把AOP动态代理,融入到Bean的生命周期
难度【★★★☆☆】第14 章:笑傲江湖,通过注解配置和包自动扫描的方式完成Bean对象的注册
难度【★★★☆☆】第15 章:万人之敌,通过注解给属性注入配置和Bean对象
قضى مؤلف هذا الكتاب،
小傅哥
، 50 يومًا واستخرج 22 سيناريو عمل حقيقي من تطوير الأعمال الفعلي للإنترنت، مثل المعاملات والتسويق والمبيعات السريعة والبرمجيات الوسيطة وكود المصدر وما إلى ذلك، وكتب 180 ألف كلمة ، 271 صفحة مواد برمجة جافا عملية. إذا كان الكتاب يحتوي على محتوى يصعب فهمه، فمن المؤكد أن المؤلف كان يفتقر إلى الوصف اللازم والمعايرة الصارمة أثناء عملية الكتابة. شكرًا لك على تقديم آرائك أو أسئلتك لي، كما نرحب بتفاعلك معي أكثر التقدم والنمو معا.
هذه هي المرة الوحيدة على الشبكة بأكملها التي سأعلمك فيها كيفية بناء العجلات وكتابة البرامج الوسيطة خطوة بخطوة، لأن هذا النوع من التكنولوجيا هو الأقرب إلى P7، والأقرب إلى المهندسين المعماريين، والأقرب إلى الرواتب المرتفعة! يوجد 16 تطبيقًا للبرمجيات الوسيطة في الكتيب، بما في ذلك ما مجموعه 30 مكتبة رموز بما في ذلك مشاريع الاختبار، وسيتوافق كل فصل مع تصميم وتنفيذ البرامج الوسيطة من أجل تسهيل القراء على تعلم المحتوى الفني في الكتيب بسرعة وفعالية. يحتوي الكتيب على إرشادات افتتاحية لكل فصل، وخلفية الطلب، وتصميم الحلول، والتنفيذ الفني، والتحقق من الاختبار والاستنتاج في نهاية المقالة.
يتكون الكتاب من 5 فصول و29 قسمًا، و417 صفحة و115000 كلمة، واستغرق إكماله 4 أشهر. يغطي بنية البيانات، ومنطق الخوارزمية، والبرمجة المتزامنة، وJVM، والسيرة الذاتية والمقابلات مع شركات الإنترنت الكبرى، وما إلى ذلك. لكن هذا الكتاب ليس مجرد سؤال للمقابلة، ولا هو مقال ذو ثمانية أرجل. بدلاً من ذلك، يبدأ من نقطة معرفة رياضية بسيطة تتعلق بالمبرمجين، ويشرح التكنولوجيا الأساسية لجافا بعمق. وكل فصل مزود بكود المصدر الذي تم التحقق منه بالممارسة، حتى تتمكن من مقارنته واللعب معًا للحصول على شعور أفضل!
من المحرج القول إن نشر كتاب أمر مبالغ فيه بعض الشيء، فهذه ليست عملية تقوم بها دار النشر، بما في ذلك اختيار الموضوع، وتجميع المخطوطات، والتحرير، والمراجعة، والمعالجة، والنشر. لكن الكتاب يتكون من 107 صفحات و117000 كلمة و20 فصلاً تغطي استخدام ثلاثة أطر عمل للرمز الثانوي (ASM وJavassist وByte-buddy) وJavaAgent ويأتي مع مجموعة كاملة من أكواد مصدر الحالة!
ردود الفعل المشكلة :
انضم إلى مجموعة للتواصل
الغرض من هذه المجموعة هو تزويد الجميع بمنصة جيدة للتعلم التقني والتبادل، لذلك لا توجد إعلانات! نظرًا لأنه لا يمكن الانضمام إلى مجموعة WeChat بعد وصولها إلى 100 عضو، يرجى مسح رمز الاستجابة السريعة أدناه لإضافة المؤلف "Brother Xiao Fu" على WeChat (fustack) أولاً. ملاحظة: Spring学习加群
.
الحساب العام (مكدس bugstack wormhole)
عجل وشارك ونمو، وركز على الحالات الخاصة الأصلية، وشارك المعرفة بأسهل طريقة لتعلم البرمجة، حتى تتمكن أنت والآخرون من اكتساب شيء ما. المواضيع التي تم الانتهاء منها حتى الآن تشمل؛
في عملية جمع البيانات، وجدت اثنين من أكواد المصدر الرائعة لإطار عمل Spring، وهما tiny-spring وmini-spring. وقد طبقت هاتان النسختان المبسطتان من إطار عمل Spring إطارًا سهل الفهم وسهل التعلم. برنامج تعليمي سهل الاستخدام للكود المصدر، إذا كان لديك بالفعل أساس معين، فيمكنك قراءة الكود المصدري مباشرة للتعلم. عنوان: