مقدمة
أحد الجوانب الرئيسية قبل بدء أي مشروع ، سواء كان مشروعًا صغيرًا أو تطبيقًا على مستوى المؤسسة ، هو إدارة التبعية. إن إجراء إدارة التبعية يدويًا للتطبيقات الصغيرة ليس مهمة صعبة ، ولكن بالنسبة للتطبيقات المعقدة ، فإن إدارة جميع تبعيات المشروع ليست مثالية ، وعرضة للعديد من المشكلات وإهدار الوقت ، والتي يمكن استخدامها لبعض الجوانب المهمة الأخرى للمشروع.
أحد المبادئ الأساسية وراء حذاء الربيع هو حل مشاكل مماثلة. SPRING BOOT STARTER عبارة عن مجموعة مريحة من واصفات التبعية التي يمكن تضمينها بسهولة في أي مستوى من التطبيقات. هذه المبتدئين هي عملية التمهيد للتكنولوجيات المتعلقة بالينابيع ، ولم نعد بحاجة إلى القلق بشأن التبعيات ، وسيتم إدارتها تلقائيًا بواسطة مبتدئين في Spring Boot.
يحتوي المبتدئين على العديد من التبعيات التي تحتاجها لتشغيل مشروعك وتشغيله بسرعة ، ولديه مجموعة متسقة ودعم من التبعيات المتعدية المدارة.
1. لماذا نحتاج إلى المبتدئين؟
عندما بدأنا في تطوير التطبيقات باستخدام SPRING BOOT ، كان أحد الأسئلة الأساسية التي تتبادر إلى الذهن هو لماذا نحتاج إلى مبتدئين في صندوق الربيع؟ أو كيف تساعدني هذه المبتدئين في تطبيقي؟
كما ذكرنا سابقًا ، يتم استخدام هذه المبتدئين لتمهيد التطبيق ، كل ما نحتاجه هو تضمين المبتدئين الصحيحين في التطبيق ، وسيضمن SPRING BOOT أن تكون جميع التبعيات المطلوبة للمبتدئين المحددين في ClassPath.
لفهم ذلك بشكل أكثر وضوحًا ، دعنا نقدم مثالاً ، نريد إنشاء تطبيق SPRING Web MVC بسيطًا ، ونحن بحاجة إلى النظر في النقاط التالية قبل أن نبدأ في كتابة رمز تطبيق الويب الخاص بنا.
يعد استخدام SPRING BOOT Starters لإقلاع تطبيق Web Spring MVC بسيطًا للغاية ، ونحن بحاجة إلى تضمين web-boot-bob في pom.xml لدينا:
<Rependency> <roupiD> org.springframework.boot </rougiD> <ChotifactId> Spring-Boot-Starter-Web </shintifactid> </premed>
سيضمن الإدخال أعلاه في pom.xml أن جميع التبعيات المطلوبة يجب أن تكون في ClassPath ، لذلك نحن جميعًا مستعدون للبدء في تطوير تطبيق ويب.
حاليًا ، يوفر Spring Boot حوالي 50 مبتدئًا ، والذي لا يشمل مبتدئين من الجهات الخارجية. للحصول على قائمة تحديث للمبتدئين ، انظر SPRING BOOT Starter
بعد ذلك ، سأقدم بعض المبتدئين المشتركين.
2. بداية الويب
هذه واحدة من المبتدئين الأكثر شيوعًا في Spring Boot ، والتي ستضمن أن جميع التبعيات المطلوبة لإنشاء تطبيقات الويب Spring Web (بما في ذلك REST) مدرجة في Calsspath ، وستضيف أيضًا تومكات كخادم افتراضي لتشغيل تطبيقات الويب الخاصة بنا. لتضمين بداية الويب في تطبيقنا ، أضف الإدخال التالي في pom.xml.
<Rependency> <roupiD> org.springframework.boot </rougiD> <ChotifactId> Spring-Boot-Starter-Web </shintifactid> </premed>
الآن يمكننا إنشاء وحدة تحكم MVC Spring MVC
@RestController الفئة العامة sampleController { @requestmapping ("/Genering") StringHello () {return "HelloWorld!" ؛ }}إذا قمت بتشغيل التطبيق وقمت بزيارة http: // localhost: 8080/Greeting ، فيجب أن تكون قادرًا على الحصول على "Hello Word" كرد. أنشأنا وحدة تحكم REST مع الحد الأدنى من الرمز.
3. بيانات JPA بداية
تتطلب معظم التطبيقات بعض آلية الثبات ، و JPA هي المعيار للثبات ، يأتي مبتدئين Boot مع مبتدئين JPA ، ولم تعد بحاجة إلى تكوين هذه التبعيات JPA يدويًا ، ولكن يمكن تحقيقها بسهولة عن طريق إضافة مبتدئين JPA إلى تطبيقك.
<Rependency> <roupeD> org.springframework.boot </rougiD> <artifactid> Spring-boot-Starter-Data-JPA </shintifactid> </sependency> <sependency> <roupid> com.h2database </roucidid>
يوفر SPRING JPA Starter دعمًا تلقائيًا لـ H2 و DERBY و HSQLDB. دعونا نرى مدى سهولة إنشاء تطبيق عينة JPA باستخدام JPA Starter.
entitypublic class user {idgeneratedValue (strategy = genertype.auto) private long id ؛ سلسلة خاصة firstName ؛ سلسلة خاصة المستخدم المحمي () {} المستخدم العام (سلسلة FirstName ، String LastName) {//this.id = id ؛ this.firstName = firstName ؛ this.lastname = lastName ؛ } public long getId () {return id ؛ } public void setId (id long) {this.id = id ؛ } السلسلة العامة getFirstName () {return firstName ؛ } public void setFirstName (String firstName) {this.firstName = firstName ؛ } السلسلة العامة getLastName () {return lastName ؛ } public void setLastName (String lastName) {this.lastname = lastName ؛ } Override public string toString () {return "user {" + "id =" + id + "، firstName = '" + firstName +'/' + "، lastName ='" + lastName + '/' + '}' ؛ }}هنا هو userrepository لدينا:
الواجهة العامة userRepositoryextends crudrepository <user ، long> {list <Ser> findUserByLastName (string lastName) ؛}بعد ذلك ، يمكننا اختبار الكود الخاص بنا ، على النحو التالي:
Runwith (SpringRunner.class) springboottestpublic class jpademoapplicationTests {autowired userrepository userrepository ؛ Test public void contextloads () {user user = userRepository.save (مستخدم جديد ("Demo" ، "User")) ؛ SearchUser user = userRepository.findone (user.getId ()) ؛ assertnotnull (SearchUser) ؛ AsserTequals (user.getFirstName () ، searchUser.getFirstName ()) ؛ }}كما رأينا في الكود أعلاه ، لم تعد بحاجة إلى تحديد تكوينات قاعدة البيانات هذه أو تكوينات قاعدة البيانات الإضافية ، عن طريق إضافة بداية JPA ، نحصل على الكثير من الميزات خارج الصندوق دون التكوين أو الترميز.
يمكنك دائمًا تعديل أو تخصيص هذه التكوينات إذا لزم الأمر.
4. البريد بداية
يعد إرسال رسائل البريد الإلكتروني من التطبيقات مهمة شائعة جدًا ، والآن يحتاج كل تطبيق إلى إرسال رسائل بريد إلكتروني من النظام. يوفر Spring Boot Mail طريقة سهلة للتعامل مع هذه الميزة من خلال إخفاء جميع التعقيدات.
يمكننا تمكين دعم البريد الإلكتروني عن طريق إضافة بداية البريد إلى التطبيق.
<Rependency> <roupiD> org.springframework.boot </rougiD> <intifactid> spring-boot-starter-mail </intifactid> </perendency>
أنا أستخدم MailGun كخادم SMTP الخاص بي ، وإليك تفاصيل SMTP المضافة إلى تطبيق application.properties:
spring.mail.host=smtp.mailgun.orgspring.mail.username=postmaster@domain.comspring.mail.password=mypasswordspring.mail.pr operties.mail.transport.protocol = smtpspring.mail.properties.mail.smtp.port = 587spring.mail.properties.mail.smtp.auth = true
إن فصل البريد الإلكتروني الخاص بنا مسؤول عن إرسال رسائل البريد الإلكتروني:
ComponentPublic Class Javaemailservice {private javamailsender mailsender ؛ javaemailservice العامة (Javamailsender Mailsender) {this.mailsender = mailsender ؛ } public void sendemail () {mimemessagePreparator messageParator = mimemessage -> {mimemessageHelper helper = new mimemessageHelper (mimemessage) ؛ Helper.setFrom ("[email protected]") ؛ Helper.setto ("[email protected]") ؛ Helper.SetSubject ("عينة البريد موضوع") ؛ Helper.settext ("اختبار البريد الإلكتروني") ؛ } ؛ mailsender.send (MessagePreparator) ؛ }}نستخدم javamailsender المقدمة في الربيع لإرسال رسائل البريد الإلكتروني. رمز اختبار Junit كما يلي:
Runwith (SpringRunner.Class) springBoottestpublic Class EmailTest {Auutowired javaemailservice javaemailservice ؛ test public void sendemail () {javaemailservice.sendemail () ؛ }}وبالمثل ، فإن إرسال بريد إلكتروني بسيط مع رمز وتكوين بسيط ، يضمن SPRING Boot Mail Starter أن جميع الأدوات اللازمة موجودة للبدء بسرعة في حل المشكلات الحقيقية.
يرجى ملاحظة أننا نستخدم Javamailsender في Javaemailservice Bean - يتم إنشاء الفول تلقائيًا بواسطة Spring Boot.
5. اختبار بداية
عادة ما نستخدم اختبار Junit أو Mockito أو Spring لاختبار تطبيقاتنا. يمكننا بسهولة تضمين جميع هذه المكتبات في تطبيقنا عن طريق إضافة بداية اختبار التمهيد الربيع.
<Rependency> <roupiD> org.springframework.boot </rougiD> <intifactid> Spring-boot-starter-test </intifactid> </premed>
سيجد SPRING BOOT تلقائيًا الإصدار الصحيح لدينا لاختبار التطبيق الخاص بنا. هنا اختبار عينة Junit:
Runwith (SpringRunner.Class) springBoottestpublic Class EmailTest {Auutowired javaemailservice javaemailservice ؛ test public void sendemail () {javaemailservice.sendemail () ؛ }}بالإضافة إلى هذه المبتدئين ، هناك مبتدئين آخرون في حذاء الربيع.
الربيع-بوت ستارتر-سيتيبرنغ-بوت-بوت-ويب-سيكرسبن-بوت-starter-integrationspring-boot-starter-validationspring-boot-starter-actuator
كما ذكرنا من قبل ، راجع SPRING BOOT Starter للحصول على أحدث قائمة من المبتدئين المقدمة من SPRING BOOT.
لخص
توفر هذه المقالة مقدمة إلى مبتدئين SPRING BOOT ، حيث نناقش سبب حاجتنا للمبتدئين وكيف يمكنهم مساعدتنا في توجيه تطبيقاتنا بسرعة. لقد استكشفنا بعضًا من مبتدئين الحذاء الربيعي الأكثر استخدامًا.