Uczę się o Spring Framework, ale nie mogę zrozumieć, co dokładnie oznacza adnotacja @Configuration
i które klasy powinny być opatrzone adnotacją. W dokumentach Spring Boot mówi się, że klasa Application powinna być klasą @Configuration
.Dlaczego aplikacja Spring Boot Application musi mieć adnotację @Configuration?
Spring Boot faworyzuje konfigurację opartą na języku Java. Chociaż możliwe jest wywołanie funkcji SpringApplication.run() przy użyciu źródła XML, zwykle zalecamy, aby podstawowym źródłem była klasa @Configuration.
Próbując dowiedzieć się o @Configuration
Uważam, że opisywanie klasę z @Configuration
wskazuje, że klasa może być używany przez kontener IoC wiosny jako źródło definicji fasoli.
Jeśli tak, to w jaki sposób ta klasa aplikacji jest źródłem definicji fasoli?
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class App
{
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
}
mam dość dużo rozumieć większość innych podstawowych pojęć dotyczących wiosny, ale nie mogę zrozumieć cel @Configuration
lub klas, które powinny być @Configuration
zajęcia? Czy ktoś może ci pomóc. Dzięki !!
Dzięki za szybką i jasną odpowiedź. Teraz ma to sens. Czy w tym przypadku ta adnotacja jest opcjonalna? W rzeczywistości widzę, że ta adnotacja jest nieco nadużywana, na przykład w Spring Security, klasa SecurityConfig jest również opisywana przy użyciu @Configuration, mimo że nie ma żadnych fasoli http://docs.spring.io/spring-security/site/ docs/3.2.x/guides/helloworld.html – varunkr
Masz rację. Jest to opcjonalne, chyba że chcesz, aby był skanowany automatycznie (zobacz moją zaktualizowaną odpowiedź). Tak jest w przypadku SecurityConfig - opatrzono je adnotacją na wypadek automatycznego skanowania. –
@ArtemNovikov Jak i kiedy rozważysz/dowiesz się, kiedy Twój wniosek będzie pełnym wiosennym uruchomieniem? – Jesse