जब हम स्प्रिंग बूट एप्लिकेशन बनाते हैं तो हम @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
उनके डिफ़ॉल्ट विशेषताओं के साथ