Eingebetteter Webcontainer: Der Server (Tomcat) ist in die Anwendung integriert und es ist nicht erforderlich, den Server extern zu konfigurieren.
Das SpringBoot-Projekt wird gestartet und es wird festgestellt, dass es sich um eine Webanwendung handelt. und das Web-Szenario-Paket wird eingeführt -----wie: Tomcat
Die Webanwendung erstellt eine Webversion des IOC-Containers ServletWebServerApplicationContext
ServletWebServerApplicationContext. Suchen Sie beim Start nach der ServletWebServerFactory (Servlets Webserver-Factory). , wird zum Erstellen von Servlet-Servern verwendet)
ServletWebServerFactory Unten befinden sich standardmäßig viele Webserver-Factorys
Die untere Ebene wird automatisch konfiguriert. Die automatische Konfigurationsklasse ServletWebServerFactoryAutoConfiguration
ServletWebServerFactoryAutoConfiguration importiert die ServletWebServerFactoryConfiguration-Factory-Konfigurationsklasse
ServletWebServerFactoryConfiguration.
Bestimmen Sie dynamisch, welche Webserverkonfiguration in das System importiert wird. Wenn das Paket
Tomcat-Abhängigkeiten importiert, wird automatisch eine Tomcat-Server-Factory erstellt . TomcatServletWebServerFactory erstellt für uns die Tomcat-Serverfabrik
Die unterste Ebene von Tomcat unterstützt die folgenden Server
@Override public WebServer getWebServer(ServletContextInitializer... initializers) { if (this.disableMBeanRegistry) { Registry.disableRegistry(); } Tomcat tomcat = new Tomcat(); File baseDir = (this.baseDirectory != null) ? this.baseDirectory : createTempDir("tomcat"); tomcat.setBaseDir(baseDir.getAbsolutePath()); Connector connector = new Connector(this.protocol); connector.setThrowOnFailure(true); tomcat.getService().addConnector(connector); customizeConnector(connector); tomcat.setConnector(connector); tomcat.getHost().setAutoDeploy(false); configureEngine(tomcat.getEngine()); for (Connector additionalConnector : this.additionalTomcatConnectors) { tomcat.getService().addConnector(additionalConnector); } prepareContext(tomcat.getHost(), initializers); return getTomcatWebServer(tomcat); }
Zusammenfassung: Der sogenannte eingebettete Server. Fügen Sie einfach unsere Methode zum manuellen Starten des Servers in das Framework ein.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency>
2. Serverregeln anpassen
ServerProperties.class
Server .undertow.accesslog.dir=/tmp
Method 2: Customize ConfigurableServletWebServerFactory
Method 3: Customize ServletWebServerFactoryCustomizer Customizer
Function: Bind the value of the configuration file to ServletWebServerFactory
SpringBoot design: Customizer Transformer, you can customize XXX Regeln
Das obige ist der detaillierte Inhalt vonSo verwenden Sie den eingebetteten SpringBoot-Webcontainer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!