Рубрики
Без рубрики

Код запуска при весенней загрузке когда приложение запускается

– Код запуска при загрузке с пружиной когда приложение запускается

В Spring Boot мы можем создать компонент CommandLineRunner для запуска кода при полном запуске приложения.

package com.mkyong;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

@SpringBootApplication
public class StartBookApplication {

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

	// Injects a repository bean
    @Bean
    CommandLineRunner initDatabase(BookRepository repository) {
        return args -> {

            repository.save(
				new Book("A Guide to the Bodhisattva Way of Life")
			);
          
        };
    }

	// Injects a ApplicationContext
    @Bean
    CommandLineRunner initPrint(ApplicationContext ctx) {
        return args -> {

            System.out.println("All beans loaded by Spring Boot:\n");

            List beans = Arrays.stream(ctx.getBeanDefinitionNames())
				.sorted(Comparator.naturalOrder())
				.collect(Collectors.toList());

            beans.forEach(x -> System.out.println(x));

        };
    }

	// Injects nothing
    @Bean
    CommandLineRunner initPrintOneLine() {
        return args -> {

            System.out.println("Hello World Spring Boot!");

        };
    }

}

P.S Протестирован с пружинным ботинком 2

Рекомендации

Оригинал: “https://mkyong.com/spring-boot/spring-boot-run-code-when-the-application-starts/”