हे प्रत्यक्षात साध्या हेलोवर्ल्ड प्रोग्रामची थोडी अधिक क्लिष्ट आवृत्ती आहे, परंतु जर आपल्याला և दिशा बंद करण्याची आवश्यकता असेल तर आपल्याला विशिष्ट पातळीची जटिलता स्वीकारावी लागेल. तुमच्या पासवर्डमध्ये लवचिकता प्राप्त करण्यासाठी तुम्हाला ही किंमत मोजावी लागेल.

या उदाहरणात माझ्याकडे ए स्वागत सेवा एक इंटरफेस ज्यामध्ये फक्त एकच पद्धत आहे बार (). असे मानले जाते की ही पद्धत दिवसाची शुभेच्छा परत करेल – “सुप्रभात”, “शुभ संध्याकाळ”, “शुभ संध्याकाळ” इ.

मग मी ए बॉटचे स्वागत आहे! जे एक शुभेच्छा प्रकाशित करते. हा वर्ग बंद आहे स्वागत सेवा अंमलबजावणी, परत स्प्रिंग फ्रेम सर्वकाही एकत्र ठेवणे. याचा अर्थ असा की आपण कोणत्याही प्रकारचे प्रदान करू शकता स्वागत सेवा तुम्हाला “हॅलो”, “हॅलो”, “हॅलो” किंवा तुम्हाला हवं ते वापरणाऱ्याला शुभेच्छा.

हे शक्य आहे कारण: बॉटचे स्वागत आहे! कॉल: GreetingService.greet () संदेश कसे प्रिंट करावे. चांगली गोष्ट अशी आहे की कोणतेही अवलंबन इंजेक्ट करण्याची गरज नाही, सर्वकाही स्प्रिंग फ्रेमद्वारे स्वयंचलित वायरिंगद्वारे जोडलेले आहे.

आपण स्वयंचलित वायरिंगबद्दल अपरिचित असल्यास, मी सुचवितो की आपण व्यापक स्प्रिंग सर्कल कोर्स तपासा स्प्रिंग मास्टर क्लास – नवशिक्यापासून तज्ञापर्यंत. वायरिंग स्थापित करण्याचे बरेच मार्ग आहेत, և हा कोर्स आपल्याला तपशीलवार दर्शवेल.

जावा स्त्रोत फायली – धडे

GreetingService.java:

हे आमचे आहे सेवा: इंटरफेस जे सेवेची पद्धत परिभाषित करते जी केली जाते a सेवा: वेटर वर्ग.

package hello;
 
public interface GreetingService {
  String greet();
}

GreetingBot.java:

तो वापरत असलेला धडा: स्वागत सेवा ग्रीटिंग प्रिंटिंग इंटरफेस. दुसऱ्या शब्दांत, हा एक वर्ग आहे जो वापरकर्त्यांचे स्वागत करतो परंतु त्यावर अवलंबून असतो स्वागत सेवा म्हणून, շրջանակ स्प्रिंग फ्रेम या वर्गावर अवलंबित्व प्रदान करते. स्टार्टअपच्या वेळी, स्प्रिंग फ्रेम इंजेक्शन्सचे उदाहरण स्वागत सेवा या धड्यासाठी, जे नंतर वापरले जाते प्रिंट () पद्धत:

package hello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
@Component
public class GreetingBot {
 
  final private GreetingService service;
 
  @Autowired
  public GreetingBot(GreetingService service) {
    this.service = service;
  }
 
  public void print() {
    System.out.println(this.service.greet());
  }
}

Main.java:

हा आमचा अनुप्रयोग धडा आहे, हा धडा आहे ज्यापासून आमचा जावा अनुप्रयोग सुरू होतो. हा धडा प्रोग्राम तयार करण्यासाठी पूर्वीचे धडे वापरतो. हा वर्ग आहे ज्यासह तो साजरा केला जातो Om रचना: आणि SComponentScan: तळटीप, म्हणजे याचा वापर कॉन्फिगरेशन म्हणून देखील केला जाईल.

जर तुम्ही कोड पाहिला तर तुम्हाला ए मुख्य () पद्धत, जावा अनुप्रयोग प्रवेश बिंदू. या पद्धतीमध्ये, कोडची पहिली ओळ बंद आहे अर्ज संदर्भ:, जे a चे प्रतिनिधित्व करते स्प्रिंग कंटेनर. या प्रकरणात, मी वापरले: भाष्य कॉन्फिग अनुप्रयोग, जे या इंटरफेसची एक अंमलबजावणी आहे – भाष्येच्या आधारावर कार्य करते.

आपण पाहिल्यास, आमच्याकडे स्प्रिंग एक्सएमएल कॉन्फिगरेशन फाइल नाही, तर कंटेनरला स्प्रिंग बीनबद्दल कसे कळेल? बरं, इथे आहे @ बिन: तळटीप वापरली आहे. जर तुम्ही बारकाईने पाहिले तर तुम्हाला दिसेल की आमच्याकडे एक पद्धत आहे mockGreetingService () जी ग्रीटिंग सर्व्हिस अंमलबजावणीची नकली अंमलबजावणी परत करते, ही पद्धत निर्दिष्ट केली आहे @ बिन: नोट्स և स्प्रिंग व्यसन टोचण्यासाठी ही पद्धत वापरते बॉटचे स्वागत आहे! श्रेणी:

जेव्हा आम्ही फोन करतो context.getBean () पद्धत एक उदाहरण देते बॉटचे स्वागत आहे! जे योग्यरित्या कॉन्फिगर केले आहे स्वागत सेवा इंटरफेस: हे सर्व हुड अंतर्गत घडते – जावा विकासकांसाठी पूर्णपणे पारदर्शक आहे. Btw, जर तुम्हाला अधिक शिकण्यात रस असेल तर तुम्ही पाहू शकता वसंत वर्तुळ 5. आरंभिक गुरु स्प्रिंग कंटेनर बद्दल अधिक जाणून घेण्यासाठी: स्प्रिंग फ्रेम कसे कार्य करते.

package hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;
 
@Configuration
@ComponentScan
public class Main {
 
  @Bean
  GreetingService mockGreetingService() {
    return new GreetingService() {
      public String greet() {
        return "Good Day!";
      }
    };
  }
 
  public static void main(String[] args) {
    ApplicationContext context = new AnnotationConfigApplicationContext(
        Main.class);
    GreetingBot greeter = context.getBean(GreetingBot.class);
    greeter.print();
  }
}

परिणाम:
14 जानेवारी 2016 18:30:15 PM org.springframework.context.support.AbstractApplicationContext तयारी अपडेट
तंत्रज्ञान. Org.springframework.context.annotation.AnnotationConfigApplicationContext@a4a63d8 अपडेट करा: प्रक्षेपण तारीख: [Thu Jan 14 18:30:15 SGT 2016]; संदर्भ पदानुक्रमाचे मूळ
शुभ दिवस!

आपण पाहू शकता की आमचा कार्यक्रम चांगला चालला आणि प्रकाशित झाला “शुभ दिवस!” जे येत आहे स्वागत सेवा इंटरफेस: या कार्यक्रमात मी काही आवश्यक स्प्रिंग नोट्स वापरल्या आहेत जसे की: @ बिन:, Om रचना:, SComponentScan:, և: घटक:जे तुमच्यापैकी अनेकांना विचित्र वाटू शकते.

XML मध्ये बीन लेबलच्या पर्यायापेक्षा बीन काहीच नाही. ComponentScan हा एक प्रकारचा स्वयंचलित वायरिंग हार्नेस आहे. घटक: याचा अर्थ ते स्वयंचलित पॉवर लाईन्ससाठी शोधले जाईल.

हे फक्त काही ध्येय सेटिंग शेअरवेअर आहेत जे तुम्ही वापरू शकता वसंत तु शिका. प्रमाणन वर्ग माझ्या एका सहकारी ब्लॉगरने – वसंत प्रशिक्षक यूजीन पाराशिव, बेलडुंग येथील. हे प्रत्यक्षात सर्वोत्तम अभ्यासक्रमांपैकी एक आहे, स्प्रिंग 5 सुरवातीपासून-केंद्रित, पासवर्ड-केंद्रित मार्गाने वसंत shoesतु शिकणे

आवश्यक अवलंबित्व (JAR फायली)

आपण मावेन वापरत नसल्यास, आपल्याला आपल्या अनुप्रयोग कोर्समध्ये बर्‍याच JAR फायली घालाव्या लागतील किंवा आपण Eclipse वापरत असल्यास, ते तयार करण्याचा हा मार्ग आहे. स्प्रिंग फ्रेमवर्कमध्ये विविध फंक्शन्ससाठी अनेक वेगवेगळ्या मॉड्यूल्सचा समावेश आहे, ծրագիրը हा प्रोग्राम स्प्रिंग संदर्भात प्रदान केलेले मुख्य फंक्शन वापरेल, जे मूलभूत कार्यक्षमता प्रदान करते, परंतु केवळ यासह वसंत-संदर्भ-4.2.1.RELEASE.jar: पुरेसे होणार नाही.

भयपट टाळण्यासाठी “वेळ”, “वेळ” अवलंबित्व पूर्ण करण्यासाठी आपल्याला एकावेळी अनेक JAR ची आवश्यकता असेल NoClassDefFoundError: आणि ClassNotFoundExceptions:.

थोडक्यात, Eclipse वर Spring 4.2 HelloWorld चालवण्यासाठी तुम्हाला खालील JAR ची आवश्यकता असेल.

  • वसंत-संदर्भ-4.2.1.RELEASE.jar:
  • स्प्रिंग-बीन्स -4.2.1.RELEASE.jar:
  • वसंत-कोर -4.2.1.RELEASE.jar:
  • commons-logging-1.0.4.jar:
  • वसंत- aop-4.2.1.RELEASE.jar:
  • वसंत-अभिव्यक्ती -4.2.1.RELEASE.jar:

होय, हे खूप किलकिले घेईल, परंतु आपण ते वापरल्यास मेवे किंवा: ग्रॅडल मग आपल्याला फक्त आपल्या pom.xml फाइलमध्ये खालील अवलंबन निर्दिष्ट करण्याची आवश्यकता आहे

<dependencies>
  <dependency>
     <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.4.RELEASE</version>
  </dependency>
</dependencies>
 
 

rad ग्रॅडली साठी.

अवलंबित्व {
‘org.springframework द्वारे संकलित. वसंत contextतु संदर्भ: 4.2.4. रिलीज ‘
}

चुकीचे:

जेव्हा तुम्ही पहिल्यांदा अॅप चालवता तेव्हा तुम्हाला काहीतरी चूक होऊ शकते, मुख्यत: कारण तुमचे वातावरण माझ्यापेक्षा वेगळे असेल (इथेच डॉकर मदत करते, अॅपसह, ते तुम्हाला त्या अॅपसाठी आवश्यक असलेले वातावरण मिळवण्याची परवानगी देते) : हा प्रोग्राम लिहिताना मला एक त्रुटी देखील आली – जर तुम्हाला ते मिळाले तर मी ते येथे पोस्ट केले

“मुख्य” थीमला अपवाद java.lang.NoClassDefFoundError: org / apache / commons / logging / LogFactory:
org.springframework.context.support.AbstractApplicationContext येथे. (AbstractApplicationContext.java:158)
org.springframework.context.support.GenericApplicationContext येथे. (GenericApplicationContext.java:102)
org.springframework.context.annotation.AnnotationConfigApplicationContext. (AnnotationConfigApplicationContext.java:60)
org.springframework.context.annotation.AnnotationConfigApplicationContext. (AnnotationConfigApplicationContext.java:82)
hello.Application.main (Application.java:21)
कारण: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory:
java.net.URLClassLoader $ 1.run (अज्ञात स्रोत)
java.security.AccessController.doPrivileged (मूळ पद्धत)
java.net.URLClassLoader.findClass येथे (अज्ञात स्रोत)
java.lang.ClassLoader.loadClass (अज्ञात स्रोत)
sun.misc.Launcher $ AppClassLoader.loadClass (अज्ञात स्रोत)
java.lang.ClassLoader.loadClass (अज्ञात स्रोत)
… 5s 5:

उपाय.

1) तुमच्या Eclipse बिल्ड पाथमध्ये अपाचे कॉमन्स-लॉगिंग फ्रेम JAR जोडा.

एवढे Maven न वापरता Eclipse IDE मध्ये Spring 4.2 HelloWorld उदाहरण कसे लिहावे. या उदाहरणात, आम्ही XML कॉन्फिगरेशन फाईलपासून मुक्त होण्यासाठी तळटीप և स्वयंचलित संदेश देखील वापरले. आम्ही वापरले: भाष्य कॉन्फिग अनुप्रयोग संदर्भ: त्याऐवजी बीन कंटेनर म्हणून ClassPathApplicationContext:, जे स्प्रिंग कॉन्फिग և कोर्स स्कॅन करते ते डिपेंडन्सीज इंजेक्ट करण्यासाठी.

इतर: जावा -स्प्रिंग लेख: तुम्हाला आवडेल

  • 5 स्प्रिंग शूची वैशिष्ट्ये प्रत्येक जावा डेव्हलपरला माहित असावी (गुणधर्म:)
  • स्प्रिंग և स्प्रिंग शूज शिकण्यासाठी शीर्ष 5 मोफत अभ्यासक्रम (अभ्यासक्रम)
  • 5 स्प्रिंग शूज मास्टर क्लास ऑनलाईन (अभ्यासक्रम)
  • जावा डेव्हलपर्ससाठी 15 स्प्रिंग शू मुलाखती (प्रश्न)
  • जावा डेव्हलपरला 10 गोष्टी शिकण्याची गरज आहे (गोल)
  • जावा डेव्हलपर्ससाठी 10 प्रगत स्प्रिंग अनलोडिंग अभ्यासक्रम (अभ्यासक्रम)
  • 10 साधने जावा प्रोग्रामर त्यांच्या दैनंदिन जीवनात वापरतात (साधने)
  • उत्तम जावा प्रोग्रामर होण्यासाठी 10 टिपा (सल्ले)
  • OAuth2 सह 10 वसंत सुरक्षा प्रशिक्षण अभ्यासक्रम (अभ्यासक्रम)
  • शीर्ष 3 पद्धती जावा डेव्हलपर्स वसंत Learnतू मध्ये शिकू शकतात (सर्वोत्तम सराव)
  • स्प्रिंग शूजसाठी 5 कोर्स սովոր स्प्रिंग क्लाउड ट्रेनिंग ( अभ्यासक्रम)
  • स्प्रिंग शूज (मॅन्युअल) सह टॉमकॅट हार्बर बदलण्याचे 3 मार्ग
  • 10 स्प्रिंग एमव्हीसी नोट्स जावा डेव्हलपर्सने शिकले पाहिजे (नोट्स)
  • जावा मध्ये सूक्ष्म सेवा शिकण्यासाठी 7 अभ्यासक्रम (अभ्यासक्रम)
  • शीर्ष 10 स्प्रिंग नोट्स जावा डेव्हलपर्सनी शिकले पाहिजेत (नोट्स)

हा लेख आतापर्यंत वाचल्याबद्दल धन्यवाद. जर तुम्हाला या स्प्रिंग शूवरच्या नोट्स उपयुक्त वाटत असतील तर तुमच्या मित्र आणि सहकाऱ्यांसह शेअर करा. आपल्याकडे काही प्रश्न किंवा टिप्पण्या असल्यास, कृपया एक टीप सोडा.

पुनश्च – जर तुम्हाला वसंत learnतु जाणून घ्यायचा असेल तर विनामूल्य ऑनलाईन कोर्स शोधा, तुम्ही ते देखील तपासू शकता विनामूल्य वसंत अभ्यासक्रम Udemy և Coursera सारख्या साइटवरून. हे पूर्णपणे विनामूल्य आहे: या कोर्ससाठी नोंदणी करण्यासाठी तुम्हाला फक्त एक खाते तयार करावे लागेल.