जब हम स्प्रिंग बूट एप्लिकेशन बनाते हैं तो हम @SpringBootApplicationएनोटेशन के साथ इसे एनोटेट करते हैं। यह एनोटेशन एप्लिकेशन को काम करने के लिए कई अन्य आवश्यक एनोटेशन को 'लपेटता है'। ऐसा ही एक उद्घोष है @ComponentScanएनोटेशन। यह एनोटेशन स्प्रिंग को स्प्रिंग घटकों को देखने और चलाने के लिए एप्लिकेशन को कॉन्फ़िगर करने के लिए कहता है।
आपके एप्लिकेशन वर्ग को आपके पैकेज पदानुक्रम के ऊपर होने की आवश्यकता है, ताकि स्प्रिंग उप-पैकेजों को स्कैन कर सके और अन्य आवश्यक घटकों का पता लगा सके।
package com.test.spring.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
नीचे दिए गए कोड का टुकड़ा काम करता है के रूप में नियंत्रक पैकेज के अंतर्गत है com.test.spring.bootपैकेज
package com.test.spring.boot.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HomeController {
@RequestMapping("/")
public String home(){
return "Hello World!";
}
}
नीचे कोड स्निपेट काम नहीं करता है क्योंकि नियंत्रक पैकेज com.test.spring.bootपैकेज के तहत नहीं है
package com.test.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HomeController {
@RequestMapping("/")
public String home(){
return "Hello World!";
}
}
स्प्रिंग बूट प्रलेखन से:
कई स्प्रिंग बूट डेवलपर्स हमेशा अपने मुख्य वर्ग के साथ एनोटेट होते हैं @Configuration, @EnableAutoConfigurationऔर @ComponentScan। चूंकि ये एनोटेशन इतनी बार एक साथ उपयोग किए जाते हैं (विशेषकर यदि आप उपरोक्त सर्वोत्तम प्रथाओं का पालन करते हैं), तो स्प्रिंग बूट एक सुविधाजनक @SpringBootApplicationविकल्प प्रदान करता है ।
@SpringBootApplicationएनोटेशन का उपयोग कर के बराबर है
@Configuration, @EnableAutoConfigurationऔर @ComponentScanउनके डिफ़ॉल्ट विशेषताओं के साथ