方式一:
在 直接在 main 方法中,根據 SpringApplication.run() 方法獲取返回的 Spring 容器對象context上下文,再獲取業務 bean 進行調用。
@SpringBootApplication
public class Application {
public static void main(String[] args) {
/**
* SpringBoot程序啟動后,返回值是ConfigurableApplicationContext,它也是一個Spring容器
* 它其實相當於原來Spring容器中的ClasspathXmlApplicationContext
*/
// 獲取SpringBoot容器
ConfigurableApplicationContext applicationContext = SpringApplication.run(Application.class, args);
// 從Spring容器中獲取指定的對象
StudentService studentService = (StudentService) applicationContext.getBean("studentServiceImpl");
BrokerConfig brokerConfig = applicationContext.getBean(BrokerConfig.class);
// 調用業務方法
String str = studentService.sayHello();
System.out.println("str = " + str);
}
}
方式二:
Spring boot 的入口類實現 CommandLineRunner 接口
@SpringBootApplication
public class App implements CommandLineRunner {
@Autowired
BrokerConfig config;
@Override
public void run(String... args) throws Exception {
System.out.println(config.getPort());
}
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
