2015-11-07 9 views
8

Mam aplikacji Wiosna Boot i uzyskać w czasie uruchomić następujące komunikaty:Jak obsługiwać "Odrzuconą nazwę komponentu bean - nie zidentyfikowano ścieżek URL-i" na wiosnę?

7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.internalAutowiredAnnotationProcessor': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.internalRequiredAnnotationProcessor': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.internalCommonAnnotationProcessor': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.internalPersistenceAnnotationProcessor': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'application': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor': no URL paths identified 
7701 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'org.springframework.context.annotation.ConfigurationClassPostProcessor.enhancedConfigurationProcessor': no URL paths identified 
7702 [main] DEBUG o.s.w.s.h.BeanNameUrlHandlerMapping - Rejected bean name 'bookingController': no URL paths identified 

Dzieje się to za każdym @Autowired użyłem w mojej aplikacji.

Jedyna konfiguracja dla mojej aplikacji jest:

@SpringBootApplication 
public class Application { 
    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

Jakieś pomysły dlaczego mam te wiadomości?

Próbowałem google po tych wiadomościach i innych, powiedziałem, że może to być konflikt między domyślną obsługą adnotacji i niestandardową obsługą adnotacji, której nie zdefiniowałem.

To są moje Gradle zależności

dependencies { 
    compile('org.springframework.boot:spring-boot-autoconfigure') 
    compile('org.springframework.boot:spring-boot-starter-web') 
    compile("org.springframework.boot:spring-boot-starter-data-rest") 
    compile('org.springframework.boot:spring-boot-starter-data-jpa') 
    compile('com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.1') 
    compile('org.springframework.boot:spring-boot-starter-security') 
    compile("mysql:mysql-connector-java:5.1.34") 

    testCompile("junit:junit") 
    testCompile("org.springframework.boot:spring-boot-starter-test") 
    testCompile("com.jayway.jsonpath:json-path") 
    testCompile("com.jayway.jsonpath:json-path-assert:0.9.1") 
} 

W mojej ścieżce klasy nie mam żadnych ustawień, które mogą w tym przypadku.

+0

dodałem moje zależności używam w tym momencie. – tzortzik

+5

Możesz zignorować wiadomości, jeśli spojrzysz na wiadomość, którą widzisz, są to tylko informacje debugowania. "BeanNameUrlHandlerMapping" sprawdza nazwę komponentu bean i sprawdza, czy można go przekonwertować na adres URL. Te wiadomości są czyste dla twoich informacji i możesz je (i powinieneś) zignorować, ponieważ nic nie możesz z nimi zrobić. Możesz wyłączyć rejestrowanie debugowania, a następnie ich nie zobaczysz. Więc nie ma to nic wspólnego z twoimi zależnościami ani z tym, że zachowuje się normalnie. –

+0

Właściwie to mam ten sam problem (w logowaniu trybu debugowania) dla mojej aplikacji: https://github.com/vdenotaris/spring-boot-security-saml-sample – vdenotaris

Odpowiedz

7

Jak wspomniano w komentarzach, jest to komunikat debugowania i nie trzeba podejmować żadnych działań.

Dla zainteresowanych, oto kilka szczegółów:

Przy uruchamianiu HandlerMapping prowadzony jest w celu określenia mapowania pomiędzy żądaniami i obiektów obsługi. Klasa AbstractDetectingUrlHandlerMapping ma metodę detectHandlers, która rejestruje wszystkie procedury obsługi znalezione w bieżącym kontekście aplikacji. Podczas iteracji nad fasolą fasola, dla której nie zidentyfikowano żadnych ścieżek URL, jest odrzucana.

Oto odpowiadające code:

// Take any bean name that we can determine URLs for. 
for (String beanName : beanNames) { 
    String[] urls = determineUrlsForHandler(beanName); 
    if (!ObjectUtils.isEmpty(urls)) { 
     // URL paths found: Let's consider it a handler. 
     registerHandler(urls, beanName); 
    } 
    else { 
     if (logger.isDebugEnabled()) { 
      logger.debug("Rejected bean name '" + beanName + "': no URL paths identified"); 
     } 
    } 
} 
+0

dziękuję za odpowiedź. Widziałem te same komunikaty debugowania, ponieważ pomyliłem je z mapowaniem żądań. Ciągle się gubię, ponieważ nie rozumiem różnicy między odwzorowaniami żądań (które można znaleźć na moich kontrolerach) a mapowaniem adresów URL (których szuka BeanNameUrlHandlerMapping i które nie występują na moich kontrolerach). Moglibyście połączyć dokumentację, która wyjaśnia różnica? Ponieważ jej nie znalazłem. –

+0

Myślę, że lepiej jest zadać nowe pytanie na ten temat. –

+0

thx, done [tutaj] (https://stackoverflow.com/questions/44158550/what-is-the-difference-between-a-ring-request-mapping-and-url-mapping) –

Powiązane problemy