我有一个使用Postgres的独立应用程序,具有以下功能 粗糙结构:
class myClass {
public myClass( String filePath ) {...}
public void calculate( ...args... ) {...}
public static void main(String[] args) {
...process args...
new myClass(...).calculate(...)
}
}
我正在尝试将其转换为Spring Boot应用程序以利用它 Spring JDBC。这是粗略的结构,是对上述内容的修改:
@SpringBootApplication
class myClass implements implements CommandLineRunner {
public myClass( String filePath ) {...}
public void calculate( ...args... ) {...}
public static void main(String[] args) {
SpringApplication.run( myClass.class, args);
}
@Override
public void run(String... args) throws Exception {
...process args...
new myClass(...).calculate(...)
}
}
当我尝试从Eclipse运行它时,我收到以下错误消息:
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
为什么会发生这种情况,我该怎么做才能解决这个问题?而且,为什么它甚至抱怨" WebApplication",
因为我在build.gradle
中没有包含任何与Web或Controller有关的内容。
答案 0 :(得分:0)
我能够通过稍微修改我的main
方法的结构来找到上述错误的解决方案:
@SpringBootApplication
class myClass implements implements CommandLineRunner {
public myClass( String filePath ) {...}
public void calculate( ...args... ) {...}
public static void main(String[] args) {
SpringApplication application = new SpringApplication( myClass.class );
application.setWebEnvironment( false );
application.run( args );
}
@Override
public void run(String... args) throws Exception {
...process args...
this.calculate(...) <<<=== Note change here, too
}
}