1. قائمة التعليقات التوضيحية
springbootapplication: يحتوي على @componentscan ، configuration و enableautoConfiguration التعليقات التوضيحية. حيث يتيح componentscan فحص التمهيد الربيعي إلى فئة التكوين وإضافته إلى سياق البرنامج.
configuration يعادل ملف تكوين XML الخاص بـ Spring ؛ يمكن أن تتحقق رمز Java من السلامة.
enableautoconfiguration التكوين التلقائي.
componentscan componentscan مكون المكون لاكتشاف وتجميع بعض الفاصوليا تلقائيا.
يمكن استخدام component مع CommandLinerUnner لتنفيذ بعض المهام الأساسية بعد بدء البرنامج.
restController annotation عبارة عن مجموعة من controller و @ResponseBody ، مما يشير إلى أن هذه حبة تحكم ، ويتم ملء قيمة الإرجاع للوظيفة مباشرة في هيكل استجابة HTTP. إنها وحدة تحكم على غرار الراحة.
@autowired استيراد تلقائيا.
pathVariable يحصل على المعلمات.
JSonbackReference يحل مشكلة الارتباط الخارجي المتداخل.
يتم استخدام repositoryrestresourcepublic مع ربيع-بوت ستارتر-ديسا.
2. شرح مفصل للشروح
SPRINGBOOTAPPLICATION: إعلان SPRING BOOT لتكوين البرنامج تلقائيًا بالتكوين اللازم. هذا التكوين يعادل ثلاثة تكوينات: configuration و enableautoconfiguration و componentscan.
حزمة com.example.myproject ؛ استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.SpringBootApplication ؛ springbootapplication // نفس configuration @enableautoconfiguration @Application.classcan {public static void main (string) {springapplication.run (application.class) ؛ }}ResponseBody: هذا يعني أن نتيجة العودة لهذه الطريقة مكتوبة مباشرة في هيئة استجابة HTTP. يتم استخدامه بشكل عام عند الحصول على البيانات بشكل غير متزامن ويستخدم لإنشاء واجهة برمجة تطبيقات مريحة. بعد استخدام @requestmapping ، عادة ما يتم تحليل قيمة الإرجاع كمسار القفز. بعد إضافة ResponseBody ، لن يتم تحليل نتيجة العودة كمسار قفز ، ولكن سيتم كتابتها مباشرة في هيئة استجابة HTTP. على سبيل المثال ، إذا حصلت على بيانات JSON بشكل غير متزامن وأضفت ResponseBody ، فسيتم إرجاع بيانات JSON مباشرة. سيتم استخدام هذا التعليق بشكل عام مع requestmapping. نموذج الرمز:
requestmapping ("/test") @responsebody public string test () {return "ok" ؛ }controller: يستخدم لتحديد فئة وحدة التحكم. في مشروع الربيع ، تكون وحدة التحكم مسؤولة عن إعادة توجيه طلب عنوان URL الذي أرسله المستخدم إلى واجهة الخدمة المقابلة (طبقة الخدمة). بشكل عام ، هذا التعليق التوضيحي في الفصل. عادة ، يجب تنسيق الطريقة مع التعليق التوضيحي @requestmapping. نموذج الرمز:
controller @requestmapping ("/demoinfo") publicclass democontroller {autowired private demoinfoservice demoinfoservice ؛ @requestmapping ("/hello") السلسلة العامة hello (map ، object> map) {system.out.println ( map.put ("Hello" ، "من TemplateController.HelloHtml") ؛ // سيتم استخدام قالب Hello.html أو Hello.ftl لتقديمه وعرضه. العودة "/hello" ؛}}RestController: مجموعة من مكونات طبقة التحكم (مثل الإجراء في الدعامات) ، و responseBody و Controller. نموذج الرمز:
package com.kfit.demo.web ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ restControllerRequestMapping ("/demoinfo2") publicclass democontroller2 {REquestMapping ("/test" اختبار السلسلة العامة ()requestmapping: يوفر معلومات التوجيه وهو مسؤول عن تعيين عناوين URL لوظائف محددة في وحدة التحكم.
enableautoconfiguration: تكوين Spring Boot Auto-Configuration: حاول تلقائيًا تكوين تطبيق الربيع الخاص بك استنادًا إلى تبعيات JAR التي أضفتها. على سبيل المثال ، إذا كان HSQLDB موجودًا تحت ClassPath ولم تقم بتكوين أي حبوب اتصال قاعدة بيانات يدويًا ، فسنقوم تلقائيًا بتكوين قاعدة بيانات داخل الذاكرة. يمكنك إضافة enableautoconfiguration أو @springbootapplication إلى فئة configuration لتحديد التكوين التلقائي. إذا وجدت أن فئة التكوين التلقائي المحدد الذي لا تريده يتم تطبيقه ، فيمكنك استخدام سمة الاستبعاد لشرح enableautoconfiguration لتعطيلها.
componentscan: يعني أن الفصل سوف يكتشف تلقائيًا مكون المسح. إن الفهم الشخصي يعادل ذلك إذا قمت بمسح فئة مع تعليقات التعليقات التوضيحية مثل component و controller و service ، وما إلى ذلك وتسجيلها كحبة ، فيمكنك جمع جميع مكونات الربيع تلقائيًا ، بما في ذلك فئة التكوين. غالبًا ما نستخدم التعليق التوضيحي @componentscan للبحث عن الفاصوليا واستيرادها بالاقتران مع التعليق التوضيحي Autowired. يمكن جمع جميع مكونات الربيع تلقائيًا ، بما في ذلك فئة التكوين. غالبًا ما نستخدم التعليق التوضيحي @componentscan للبحث عن الفاصوليا واستيرادها بالاقتران مع التعليق التوضيحي Autowired. إذا لم يكن هناك تكوين ، فسيقوم Spring Boot بمسح الفئات الموجودة أسفل الحزمة حيث توجد فئة بدء التشغيل والحجز الفرعي الذي يستخدم تعليقات Service ، Repository ، إلخ.
configuration: أي ما يعادل ملف تكوين XML التقليدي. إذا كانت بعض مكتبات الطرف الثالث بحاجة إلى استخدام ملفات XML ، فمن المستحسن استخدام فئة التكوين configuration كفئة التكوين الرئيسية للمشروع - يمكنك استخدام eMporTresource Eanotation لتحميل ملف تكوين XML.
import: يستخدم لاستيراد فئات التكوين الأخرى.
ImporTresource: يستخدم لتحميل ملف تكوين XML.
@autowired: استيراد الفاصوليا المعتمدة تلقائيا
Service: المكونات المستخدمة بشكل عام لتعديل طبقة الخدمة
repository: يمكن أن يضمن استخدام التعليق التوضيحي repository أن يوفر DAO أو المستودعات ترجمة استثناء. سيتم اكتشاف وتكوين فئة DAO أو المستودعات المعدلة بواسطة هذا التعليق التوضيحي بواسطة ComponetsCan ، وليس هناك حاجة لتزويدهم بعناصر تكوين XML.
bean: استخدم طريقة التعليقات التوضيحية bean لتكون مكافئة للفاصوليا التي تم تكوينها في XML.
Value: حقن قيمة الخاصية التي تم تكوينها بواسطة تطبيق SPRING Boot Application.Properties. نموذج الرمز:
Value (value = "#{message}") رسالة سلسلة خاصة ؛inject: ما يعادل الافتراضي autowired ، ولكن بدون السمة المطلوبة ؛
component: يشير إلى المكونات بشكل عام. عندما لا يسهل تصنيف المكونات ، يمكننا استخدام هذا التعليق التوضيحي للتعليق.
bean: إنه يعادل XML ، الموضوعة فوق طريقة ، وليس فئة ، مما يعني توليد الفول وتسليمها إلى إدارة الربيع.
@autowired: استيراد الفاصوليا المعتمدة تلقائيا. طريقة bytype. استخدم الفاصوليا المكونة لإكمال تجميع الخصائص والأساليب. يمكن أن تضع علامة على متغيرات الأعضاء والأساليب والمبنات لإكمال أعمال التجميع التلقائية. عند إضافة (مطلوب = خطأ) ، لن يتم الإبلاغ عن خطأ حتى إذا لم يكن من الممكن العثور على الفول.
QUALIFIER: عندما يكون هناك فاصوليا متعددة من نفس النوع ، يمكنك استخدام QALIFIER ("الاسم") لتحديده. يعمل مع autowired. بالإضافة إلى الحقن وفقًا للاسم ، يمكن استخدام واصفات Qualifier المؤهلة لأداء عناصر تحكم دقة في كيفية اختيار المرشحين. طريقة الاستخدام المحددة هي كما يلي:
@autowired QAlifier (value = "demoinfoservice") demoinfoservice private demoinfoservice ؛
Resource (name = "name" ، type = "type"): إذا لم يكن هناك محتوى بين قوسين ، فإن الافتراضي هو BYNAME. افعل شيئًا مشابهًا لـ @autowired.
3. ملاحظات JPA
@entity: table (name = ""): يشير إلى أن هذه فئة كيان. يستخدم بشكل عام لتوضيح JPA ، ولكن إذا كان اسم الجدول واسم فئة الكيان متماثلين ، فيمكن حذف @Table.
mappedSuperClass: يستخدم لتحديد الكيان الذي هو فئة الوالدين. يمكن أن تكون الفئة الفرعية السمة لفئة الأصل.
@norepositorybean: يستخدم بشكل عام كمستودع لفئة الوالدين. مع هذا التعليق التوضيحي ، لن يقوم الربيع على إنشاء مثيل للمستودع.
Column: إذا كان اسم الحقل هو نفسه اسم العمود ، فيمكن حذفه.
ID: يعني أن هذه السمة هي المفتاح الأساسي.
GeneratedValue (الاستراتيجية = GenerationType.sequence ، generator = "repair_seq"): يعني أن استراتيجية توليد المفاتيح الأساسية هي التسلسل (يمكن أن تكون تلقائية ، هوية ، أصلية ، وما إلى ذلك ، يعني أنه يمكن التبديل بين قواعد البيانات المتعددة) ، واسم التسلسل المحدد هو إصلاح_seq.
exexenceGeneretor (name = "repair_seq" ، sequencename = "seq_repair" ، تخصيص = 1): الاسم هو اسم التسلسل ، بحيث يكون تسلسل الاسم هو اسم تسلسل قاعدة البيانات ، ويمكن أن يكون الاسمان متسقان.
transient: يعني أن هذه الخاصية ليست خريطة لحقل في جدول قاعدة البيانات ، وسيتجاهل إطار ORM هذه الخاصية. إذا لم تكن السمة خريطة حقل لجدول قاعدة البيانات ، فيجب وضع علامة عليها على أنها transient. خلاف ذلك ، فإن إطار ORM الافتراضي إلى شرحه باعتباره basic. basic (fetch = fetchtype.lazy): يمكن أن تحدد العلامة كيفية تحميل سمات الكيان
jsonignore: تتمثل الوظيفة في تجاهل بعض الخصائص في جافا بين عند تسلسل JSON ، وتأثر كل من التسلسل والتسلسل.
@joincolumn (name = "loginid"): فردي: مفاتيح أجنبية في هذا الجدول تشير إلى جدول آخر. واحد لرجال: جدول آخر يشير إلى المفتاح الخارجي لهذا الجدول.
onetoOne ، onetomany ، manytoone: المقابلة مع فرد إلى واحد ، واحد إلى كثير ، والعديد إلى واحد في ملف تكوين السبات.
4.
requestmapping: @requestmapping ("/path") يعني أن وحدة التحكم تتعامل مع جميع طلبات URL لـ "/path". RESPORTMAPPING هو تعليق توضيحي يستخدم للتعامل مع تعيينات عنوان الطلب ويمكن استخدامها في الفئات أو الأساليب.
للاستخدام في الفصل ، جميع الطرق التي تمثل طلبات الاستجابة في الفصل تأخذ هذا العنوان كمسار الأصل. يحتوي هذا التعليق على ست سمات:
requestparam: يستخدم قبل معلمة الطريقة.
@requestparam string a = request.getParameter ("a"). @pathvariable: PathVariable. على سبيل المثال ، requestMapping ("user/get/mac/{macaddress}") السلسلة العامة getByMacAddress (@pathvariable string macaddress) {// افعل شيئًا ؛ }يجب أن تكون المعلمات هي نفس الأسماء في الأقواس.
5. التعامل مع الاستثناء العالمي
controllerAdvice: يحتوي على component. يمكن مسحها ضوئيًا. معالجة استثناء موحدة.
exceptionHandler (استثناء. class): يستخدم على الطريقة للإشارة إلى أنه إذا واجهت هذا الاستثناء ، فستقوم بتنفيذ الطريقة التالية.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.