是否可以使用Spring创建控制台应用程序?

时间:2017-11-13 13:02:10

标签: java spring console-application

目前正在研究此主题。是否可以使用Spring的优势来形成控制台应用程序?我的意思是,使用范围,自动装配等(找到一堆基本的例子"设置上下文,init和go",但仅此而已)?

无法找到有关此主题的任何教程或有用信息。

4 个答案:

答案 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);
    }
}

Details

答案 1 :(得分:3)

答案 2 :(得分:2)

我建议你使用Dropwizard框架,它提供了许多必需的库,内置和版本可以在几分钟内设置项目。请参阅以下链接以了解有关dropwizard框架的更多信息: http://www.dropwizard.io/1.2.0/docs/

你也可以在下面的链接中获得dropwizard框架的示例项目:
https://github.com/lawakush9292/DropwizardProject

答案 3 :(得分:1)

Spring是一个提供依赖注入机制的框架。它还支持服务层,Web层和业务层的隔离,但我认为这不是您想要的。

所以答案是。您可以利用提供的依赖项注入服务来创建控制台应用程序,而不会遇到任何问题。当然,提供的MVC模型实际上对你没用。