小编典典

启动一个简单的非基于Web的Java应用程序的官方spring boot方法是什么?

spring-boot

我正在将一个简单的Java项目转换为Spring Boot变体。通常,Spring
Boot参考指南http://docs.spring.io/spring-
boot/docs/current/reference/htmlsingle/很有帮助,但是大多数设置简单配置的示例都包含一些基于Web的应用程序。来自https://spring.io/guides/gs/spring-
boot/教程的入门教程没有提供我正在寻找的答案。

我有一类HelloSpring需要在上运行一种方法printHello()。为了简单起见,我已经配置了以下类,将它们放在同一包中:

应用程序类

@SpringBootApplication
public class Application {

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

}

HelloConfiguration.class

@Configuration
public class HelloConfiguration {

    @Bean
    public HelloSpring helloSpring(){
        HelloSpring hs = new HelloSpring();
        hs.printHello();
        hs.printHelloAgain();
        return hs;
    }

    @Autowired
    public HelloSpring hs;

}

HelloSpring.class

public class HelloSpring {

    public void printHello() {
        System.out.println("Hello Spring!");
    }

    @PostConstruct
    public void printHelloAgain() {
        System.out.println("Hello Spring?");
    }

}

打印(省略弹簧记录):

Hello Spring!
Hello Spring?
Hello Spring?

但是,我不确定执行HelloSpring类的正确方法。

给出以上示例,使用Spring Boot时连接和“运行”一个类的正式方法是什么?


阅读 458

收藏
2020-05-30

共1个答案

小编典典

只需使用ApplicationContext的是SpringApplication.run与返回,接着工作。这几乎是所有需要的

public static void main(String[] args) {
    ApplicationContext context = SpringApplication.run(Application.class, args);
    HelloSpring bean = context.getBean(HelloSpring.class);
    bean.printHello();
}

因此,您可以打开gui等,并使用ApplicationContext来获取bean等。

2020-05-30