!!! Od 1.6.2022 nastupuji do Komerční banky tvořit novou digitální banku. Školení se nechci úplně vzdávat, v současnosti přemýšlím nad tím, jak alespoň pár školení za rok uskutečnit. Pokud by mi někdo se školeními chtěl pomoci, tak se mi ozvěte. Na JavaDays opět budu, to si nenechám ujít :-) Teď budu mít v KB hodně práce než si všechno sedne, ale jakmile to nastane, tak hned budu přemýšlet nad tím, jak alespoň pár školení za rok uskutečnit, protože je hromada lidí, které bych opět strašně moc rád viděl a považuji je za přátele. Časem (nejspíš v příštích pár měsících) vytvořím nový blog na separátní doméně a novinky Java a SQL školení dále rozšiřovat nebudu. Pokud se něco změní, tak to dám včas vědět zde na webu a na blogu. !!!

Jak vytvořit u Spring Boot web. aplikace WAR soubor?

publikováno: 1.3.2014

Ve výchozím nastavení používá Spring Boot web. aplikace embedded Tomcat. To je super u hello world příkladů, extra jednoduchých aplikací, nebo pokud používáte Cloud Foundry. Obyčejně ale chcete vytvořit klasickou webovou aplikaci, kterou poté můžete nasadit na jakýkoli Java EE server. Jak na to? 

1. V pom.xml nastavte:

<packaging>war</packaging>

2. v pom.xml do dependencies přidejte:

<dependency>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <groupId>org.springframework.boot</groupId>
   <scope>provided</scope>
</dependency>

3. Vytvořte tuto třídu:

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;

public class HelloWebXml extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(
            SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

Poznámka: Application.class vypadá takto:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
@EnableAutoConfiguration
public class Application {

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

HOTOVO

Teď už můžete tuto aplikaci spustit na jakémkoli Java EE serveru.

Pro spuštění (na mém oblíbeném) embedded Jetty serveru přidejte do pom.xml dovnitř <build><plugins>:

<plugin>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-maven-plugin</artifactId>
   <version>9.1.2.v20140210</version>
</plugin>

Pro vygenerování WAR souboru spusťte v hlavním adresáři projektu:

mvn package

Do adresáře target se vygeneruje soubor s příponou .war.original, který je možné nasadit na jakýkoli Java EE server. Také se vygeneruje soubor s příponou war, který obsahuje embedded Tomcat a je možné ho spustit pomocí:

java -jar nazev-souboru.war

Celý příklad (spolu s Hibernate a Spring Data JPA) je k dispozici na mém GitHub účtu: https://github.com/jirkapinkas/example-spring-boot

 

Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

16.4.2022: Docker Desktop & High CPU usage

5.4.2022: Spring4Shell 0-day vulnerability

30.3.2022: Online důchodová kalkulačka
Do důchodu daleko, ale je dobré vědět co nás bude čekat a mít v dokumentech pořádek.