目前正在研究此主题。是否可以使用Spring的优势来形成控制台应用程序?我的意思是,使用范围,自动装配等(找到一堆基本的例子"设置上下文,init和go",但仅此而已)?
无法找到有关此主题的任何教程或有用信息。
答案 0 :(得分:4)
CommandLineRunner
示例。如果运行此Spring Boot,则run方法将成为入口点。
package com.mkyong;
import com.mkyong.service.HelloMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.Banner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import static java.lang.System.exit;
@SpringBootApplication
public class SpringBootConsoleApplication implements CommandLineRunner {
@Autowired
private HelloMessageService helloService;
public static void main(String[] args) throws Exception {
//disabled banner, don't want to see the spring logo
SpringApplication app = new SpringApplication(SpringBootConsoleApplication.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
}
// Put your logic here.
@Override
public void run(String... args) throws Exception {
if (args.length > 0) {
System.out.println(helloService.getMessage(args[0].toString()));
} else {
System.out.println(helloService.getMessage());
}
exit(0);
}
}
答案 1 :(得分:3)
以下是Spring文档的链接:
3. Developing Spring Shell Applications
4. Simple sample application using the Spring Shell
答案 2 :(得分:2)
我建议你使用Dropwizard框架,它提供了许多必需的库,内置和版本可以在几分钟内设置项目。请参阅以下链接以了解有关dropwizard框架的更多信息: http://www.dropwizard.io/1.2.0/docs/
你也可以在下面的链接中获得dropwizard框架的示例项目:
https://github.com/lawakush9292/DropwizardProject
答案 3 :(得分:1)
Spring是一个提供依赖注入机制的框架。它还支持服务层,Web层和业务层的隔离,但我认为这不是您想要的。
所以答案是是。您可以利用提供的依赖项注入服务来创建控制台应用程序,而不会遇到任何问题。当然,提供的MVC模型实际上对你没用。