Rumah  >  Artikel  >  Java  >  Cara menggunakan bekas web terbenam SpringBoot

Cara menggunakan bekas web terbenam SpringBoot

PHPz
PHPzke hadapan
2023-05-13 23:34:041432semak imbas

Bekas Web terbenam: pelayan terbina dalam (Tomcat) dalam aplikasi, tidak perlu mengkonfigurasi pelayan secara luaran

Prinsip

  • Projek SpringBoot dimulakan dan ia didapati sebagai aplikasi web. Perkenalkan pakej senario web ----- Contohnya: Tomcat

  • aplikasi web mencipta versi web kontena IOC ServletWebServerApplicationContext

  • ServletWebServerApplicationContext apabila dimulakan Cari ServletWebServerFactory (kilang pelayan web Servlet, digunakan untuk menghasilkan pelayan Servlet)

  • ServletWebServerFactory secara lalai Terdapat banyak pelayan di bahagian bawah🎜 >

Cara menggunakan bekas web terbenam SpringBoot

  • Lapisan bawah akan dikonfigurasikan secara automatik, kelas konfigurasi automatik ServletWebServerFactoryAutoConfiguration

  • ServletWebServerFactoryAutoConfiguration mengimport kelas konfigurasi kilang ServletWebServerFactoryConfiguration

ServletWebServerFactoryConfiguration.class

Cara menggunakan bekas web terbenam SpringBoot

    ServletWebServerFactoryConfiguration.class
  • pakej konfigurasi web yang mana diimport ke dalam sistem
  • Jika Mengimport kebergantungan Tomcat akan secara automatik meletakkan kilang pelayan TomcatServletWebServerFactory mencipta kilang pelayan Tomcat untuk kami

Cara menggunakan bekas web terbenam SpringBootTomcat. lapisan bawah menyokong pelayan berikut

	@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);
	}

Ringkasan: Apa yang dipanggil pelayan terbenam adalah untuk meletakkan kaedah kami memulakan pelayan secara manual ke dalam rangka kerja.

Aplikasi

1 Tukar pelayan Web

Kecualikan pelayan tomcat dan pergantungan import

       <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 1: Ubah suai fail konfigurasi di bawah pelayan

Cara menggunakan bekas web terbenam SpringBootServerProperties.class

server.undertow.accesslog.dir=/tmp

Kaedah 2: Sesuaikan ConfigurableServletWebserverFactory

Kaedah 3: Sesuaikan servletwebserverfactorycustomizer customizer

> boleh menyesuaikan XXX peraturan

Atas ialah kandungan terperinci Cara menggunakan bekas web terbenam SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam