我正在将一个简单的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()。为了简单起见,我已经配置了以下类,将它们放在同一包中:
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时连接和“运行”一个类的正式方法是什么?
只需使用ApplicationContext的是SpringApplication.run与返回,接着工作。这几乎是所有需要的
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等。