Bir Spring boot uygulaması oluşturduğumuzda, ona @SpringBootApplication
açıklama ekliyoruz. Bu açıklama, uygulamanın çalışması için diğer birçok gerekli ek açıklamayı 'tamamlar'. Böyle bir ek @ComponentScan
açı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.boot
paketin
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.boot
paketin
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
, @EnableAutoConfiguration
ve @ComponentScan
. Bu ek açıklamalar birlikte çok sık kullanıldığından (özellikle yukarıdaki en iyi uygulamaları izlerseniz), Spring Boot uygun bir @SpringBootApplication
alternatif sağlar.
@SpringBootApplication
Ek açıklama kullanarak eşdeğerdir
@Configuration
, @EnableAutoConfiguration
ve @ComponentScan
varsayılan özellikleri ile