Application.java

package com.tdmconsult.ete;

import java.util.Arrays;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;

@SpringBootApplication
@EnableMethodSecurity
@EnableWebSecurity
@EnableScheduling
@Slf4j
public class Application {

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

    @Value("${tdm.baseurl-frontend}")
    private String baseurlFrontend;
    @Value("${tdm.baseurl-backend}")
    private String baseurlBackend;
    @Value("${server.servlet.contextPath}")
    private String context;
    @Autowired
    private Environment environment;

    @Bean
    ApplicationListener<ApplicationReadyEvent> onApplicationReadyEventListener() {
        return (evt) -> {
            log.info("===========================================================");
            log.info("Frontend at {}/ete-frontend", baseurlFrontend);
            log.info("Swagger is available at {}{}/swagger-ui/index.html", baseurlBackend, context);
            if (Arrays.stream(environment.getActiveProfiles()).anyMatch("local"::equals)) {
                log.info("H2-Console is available at {}{}/h2-console", baseurlBackend, context);
            }
            log.info("===========================================================");
        };
    }
}