码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot 5:应用程序启动时初始化资源

时间:2018-10-28 14:58:59      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:启动   顺序   ring   应用程序   cer   listener   autoconf   配置信息   lin   

 

需求:应用程序启动后,初始化基础数据、加密证书等操作。

可以使用CommandLineRunner接口来实现,在SpringBoot.run()之后完成资源的初始化工作。

注意:多个Runner需要顺序启动的话,可以使用@Order注解

package sun.flower.diver.modules.system.init;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * 应用程序启动后加载基础数据 Runner
 *
 * @Author YangXuyue
 * @Date 2018/10/28 13:48
 */
@Component
@Order(1)
public class BaseDataRunner implements CommandLineRunner {
    @Override
    public void run(String... strings) throws Exception {
        System.out.println("start init base data");
    }
}
package sun.flower.diver.modules.system.init;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * 应用程序启动后加载证书 Runner
 *
 * @Author YangXuyue
 * @Date 2018/10/28 13:50
 */
@Component
@Order(2)
public class CertificateRunner implements CommandLineRunner {
    @Override
    public void run(String... strings) throws Exception {
        System.out.println("start init certificate info");
    }
}
package sun.flower.diver;

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
// 添加注解 @EnableDiscoveryClient,只有这样,服务注册、心跳检测相关配置信息才能被自动加载
@EnableDiscoveryClient
public class DiverApplication {

    public static void main(String[] args) {
        System.out.println("application start");

        SpringApplication application = new SpringApplication(DiverApplication.class);
        // 添加监听器,此时监听器类不需要标注是一个Bean
        //application.addListeners(new BaseListener());
        application.setBannerMode(Banner.Mode.OFF);
        application.run(args);

        System.out.println("application started");
    }

}

技术分享图片

技术分享图片

 

Spring Boot 5:应用程序启动时初始化资源

标签:启动   顺序   ring   应用程序   cer   listener   autoconf   配置信息   lin   

原文地址:https://www.cnblogs.com/yang21/p/9865399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!