#spring-boot #event-listener
#пружинный ботинок #событие-слушатель
Вопрос:
У меня есть информация о клиентах, хранящаяся в базе данных mongo. Я хочу использовать простой механизм, с помощью которого я мог бы получить все сведения о клиентах в хэш-карте при запуске приложения, чтобы мне не нужно было обращаться к базе данных. Для этого я подумывал об использовании прослушивателя событий spring boot. Но я не могу понять, как соединить точки для реализации.
Прямо сейчас я думаю о простом подходе к хэш-карте.
Ответ №1:
Вы можете реализовать ApplicationRunner
или CommandLineRunner
в своем весеннем бобе. Эти интерфейсы можно переопределить одним run
методом, и он будет выполняться непосредственно перед SpringApplication.run(…)
завершением.
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; @Component public class ExampleRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println("-----------------checking output"); } }
выход: 2021-12-08 20:30:59.079 INFO 69065 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2021-12-08 20:30:59.093 INFO 69065 --- [ main] com.upbytes.example.ExampleApplication : Started ExampleApplication in 2.392 seconds (JVM running for 2.849) -----------------checking output