68.5 创建no-web应用
不是所有的Spring应用都必须是web应用(或web服务)。如果你想在main
方法中执行一些代码,但需要启动一个Spring应用去设置需要的底层设施,那使用Spring Boot的SpringApplication
特性可以很容易实现。SpringApplication
会根据它是否需要一个web应用来改变它的ApplicationContext
类,首先你需要做的是去掉servlet API依赖,如果不能这样做(比如基于相同的代码运行两个应用),那你可以明确地调用SpringApplication.setWebEnvironment(false)
或设置applicationContextClass
属性(通过Java API或使用外部配置)。你想运行的,作为业务逻辑的应用代码可以实现为一个CommandLineRunner
,并将上下文降级为一个@Bean
定义。