我正处于将简单的
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等.