Bir Spring boot uygulaması oluşturduğumuzda, ona @SpringBootApplicationaçıklama ekliyoruz. Bu açıklama, uygulamanın çalışması için diğer birçok gerekli ek açıklamayı 'tamamlar'. Böyle bir ek @ComponentScanaçıklama nottur. Bu açıklama, Spring'e Spring bileşenlerini aramasını ve uygulamayı çalışacak şekilde yapılandırmasını söyler.
Spring'in alt paketleri tarayabilmesi ve diğer gerekli bileşenleri bulabilmesi için uygulama sınıfınızın paket hiyerarşinizin en üstünde olması gerekir.
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);
}
}
Kodun altında pasajı çalışır kontrolör paketi altında olduğu gibi com.test.spring.bootpaketin
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!";
}
}
Kod parçacığı Aşağıda Work DEĞİLDİR kontrolör paket olarak altında değildir com.test.spring.bootpaketin
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!";
}
}
Spring Boot belgelerinden:
Birçok Bahar Boot geliştiriciler her zaman kendi ana sınıfı ile açıklamalı var @Configuration, @EnableAutoConfigurationve @ComponentScan. Bu ek açıklamalar birlikte çok sık kullanıldığından (özellikle yukarıdaki en iyi uygulamaları izlerseniz), Spring Boot uygun bir @SpringBootApplicationalternatif sağlar.
@SpringBootApplicationEk açıklama kullanarak eşdeğerdir
@Configuration, @EnableAutoConfigurationve @ComponentScanvarsayılan özellikleri ile