带有其他main()方法的Spring Boot应用程序

时间:2017-09-05 13:44:09

标签: spring-boot

我有一个简单的SpringBootApplication来设置JPA并定义一些Beans。

@SpringBootApplication
public class AnalysisApplication {

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

@Autowired
SoftwareArchiveRepository swaRepository;

@Bean
SoftwareArchiveService swaService() {
    return new SoftwareArchiveService(swaRepository);
}

@Bean
PlatformService platformService(@Autowired PlatformRepository platformRepository) {
    return new JpaPlatformService(platformRepository);
}
// More Bean definitions omitted
}

我现在想在几个类中使用这个上下文,为我的应用程序执行一次设置,我将手动调用。虽然他们使用定义的bean,但它们实际上并不是应用程序的一部分 - 基本上我想执行一次性数据加载练习。

public class DatabaseLoader {

ApplicationContext context;

public static void main(String[] args) {

  DatabaseLoader loader = new DatabaseLoader();
  loader.run();

}

private void run() {

  context = ??????
  PlatformService service = context.getBean("platformService");
  // etc etc
}

我需要做什么来初始化SpringBootApplication上下文,以便在不实际调用SpringApplication.run(AnalysisApplication.class,args)的情况下发生所有SpringBoot自动配置;

0 个答案:

没有答案