Ich lese über die Komponente Scan und wie ich verstanden habe, dass Konfiguration Klassen automatisch gescannt werden. meine Frage, ob ich die folgenden Voraussetzungen erfüllt sein:Spring @Bean wird es autowired werden, wenn die Klasse automatisch gescannt
@Configuration
public class AppConfig {
@Bean(name="authenticationService")
public AuthenticationService getAuthenticationService(){
return new AuthenticationService();
}
}
wenn die @Configuration bereits (so die App Config verfügbar sein wird) abgetastet wird, wäre nicht die Bohne im Innern geschaffen? Ich bin etwas verwirrt, da sie sagen, dass der @Bean nicht automatisch gescannt wird.
Nein, wird es nicht. Wenn Spring die Bean von AuthenticationService in AppConfig erstellen soll, verwenden Sie einfach @Autowired. '@Autowired private AuthenticationService authenticationService;' – harshavmb
Die Antwort auf Ihre Frage ist nein, es wird '@ Bean' Methoden nicht scannen, da es nichts zu scannen gibt. Aber die Antwort, die Sie wollen, ist ja, eine Instanz von 'AuthenticationService' wird erstellt, weil das der einzige Punkt ist, an dem Sie eine '@ Bean'-Methode haben. So werden keine '@ Bean' nicht gescannt, sie zeigen lediglich die Bean-Erzeugungsmethoden an. Genau wie das ' ' Element in XML. –
Danke für die Antwort, also wird die Bean erstellt sobald die Klasse automatisch gescannt wird oder? –