什么是启动简单的非基于Web的Java应用程序的官方spring引导方式?

前端之家收集整理的这篇文章主要介绍了什么是启动简单的非基于Web的Java应用程序的官方spring引导方式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正处于将简单的 java项目转换为spring引导变体的过程中. Spring Boot Reference Guide http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/一般都非常有用,但是大多数设置简单配置的例子都涉及一些基于Web的应用程序. https://spring.io/guides/gs/spring-boot/教程的入门教程没有提供我正在寻找的答案.

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

Application.class

@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时连接和“运行”类的官方方法是什么?

解决方法

只需使用SpringApplication.run返回的ApplicationContext,然后使用它.这几乎是所需要的
public static void main(String[] args) {
    ApplicationContext context = SpringApplication.run(Application.class,args);
    HelloSpring bean = context.getBean(HelloSpring.class);
    bean.printHello();
}

所以你可以打开一个gui等,并使用ApplicationContext来获取你的bean等.

猜你在找的HTML相关文章