gpt4 book ai didi

java - 启动简单的非基于 Web 的 Java 应用程序的官方 Spring Boot 方式是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:11:29 24 4
gpt4 key购买 nike

我正在将一个简单的 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?");
}

}

它打印(省略了 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 来获取你的 beans 等。

关于java - 启动简单的非基于 Web 的 Java 应用程序的官方 Spring Boot 方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com