2015-08-13 22 views
5

In meiner Spring Boot-Anwendung mit Verpackungstyp als Krieg, ich konfiguriere Spring MVC. Soweit ich weiß, müssen wir das Dispatcher-Servlet nicht manuell konfigurieren. Allerdings habe ich im alten Stil von web.xml verwendet i Dispatcher Servlet zu konfigurieren und dann verwendet, i contextClass und contextConfigLocation passieren wie folgtDispatcher Servlet im Frühling Boot

<servlet> 
    <description> 
    </description> 
    <display-name>DispatcherServlet</display-name> 
    <servlet-name>DispatcherServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <description>contextClass</description> 
     <param-name>contextClass</param-name> 
     <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> 
    </init-param> 
    <init-param> 
     <description>contextConfigLocation</description> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>com.xxx.yyy.jdorderspringmvcweb.config.SpringMvcConfig</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet>  

I Belive war, um anzuzeigen, dass SpringMvcConfig (meine benutzerdefinierte Klasse mit Spring MVC-Konfiguration) ist die Konfigurationsklasse für Spring MVC ..

Allerdings, im Frühjahr Boot, wenn Dispatcher-Servlet automatisch konfiguriert ist, wie kann ich meine benutzerdefinierte Klasse zu Dispatcher-Servlet übergeben?

In meinem Frühling Boot-Anwendung erweitert meine SpringMvcConfig Klasse von WebMvcConfigurerAdapter und ist mit @Configuration Klasse kommentiert

Hilfe benötigt ...

Antwort

-1

Wenn Ihre Konfigurationsklasse im selben Paket oder ein Unterpaket ist der Hauptklasse (die mit @SpringBootApplication annotiert ist), müssen Sie nichts tun. @SpringBootApplication scannt alle Komponenten im Paket und alle Unterpakete.

Wenn Sie jedoch möchten, dass andere Pakete gescannt werden, können Sie @ComponentScan verwenden. Ein Beispiel:

@Configuration 
@EnableAutoConfiguration 
@ComponentScan(basePackageClasses = {SpringSampleAppApplication.class, LemonConfig.class}) 
public class SpringSampleAppApplication { 

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

} 

Sehen Sie, wie @SpringBootApplication durch drei Anmerkungen ersetzt wird, mit einem benutzerdefinierten @ComponentScan.

Es gibt auch andere Methoden zum Importieren von Konfigurationsdateien, aber ich finde die oben genannten in den häufigsten Szenarien.

+0

Beantwortet die Frage nicht. –

+0

Ja, tut es nicht! Nicht sicher, warum ich es so beantwortet habe - vielleicht wurde die Frage später bearbeitet? – Sanjay

0

Direkt in der Konfigurationsklasse, die mit @Configuration versehen ist, könnten Sie Ihren DispatcherServlet definieren und ihm den init-Parameter übergeben.

Eine andere Möglichkeit wäre, eine Parameterkarte zu erstellen und dann den Parameter für die Registrierungsbohne einzustellen. This Stream zeigt, wie es geht.

+1

Sie haben die Frage nicht beantwortet. Ihr Code zeigt 'dispatcherServlet()', aber es wird kein Hinweis darauf gegeben, was das ist oder wie es definiert ist - was die Frage verlangt. –

Verwandte Themen