SpringBoot搭建非web应用的两种方式

方式一:

在 直接在 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);
    }
}
posted @   devhg  阅读(1056)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示