springboot自启动加载数据库数据&初始化加载线程

自启动加载数据库数据到项目内存中:

1.应用场景:其实一般来说配置中心就可以解决很多自启动的一些配置参数等等。但是有的比较大的内容放配置文件中去读感觉不是很合理。目前我自己的应用场景就是把一些需要的参数装载到自己的静态全局变量中。方便使用。

2.步骤-(个人建议新建一个包。我的命名就叫start,方便后面查看)

//定义Spring管理Bean
@Component
//实现ApplicationRunner接口-实现初始化加载该类
public class XxStart implements ApplicationRunner {
    //这里是你注入你操作数据库的方法 也可以在下面业务代码中自己写,看你们用的框架了
    @Autowired
    private XxService xxService;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        try{
            这里是你的业务代码
        }catch(Exception e){
            这里是异常
        }
    }

 

初始化加载线程:

1.应用场景:这个就看每个人自己的业务需求了。。。

2.关于原理网上太多了 我就不详细写了,直接贴步骤。推荐一个写的比较好的:https://blog.csdn.net/liyantianmin/article/details/81017960

第一步:

public class XxStartup implements ApplicationListener<ContextRefreshedEvent> {
    /**
     * 业务代码
     */
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        ApplicationContext ac = event.getApplicationContext();
        //把你需要的线程先加载进来 springboot初始化装配之后直接启动。
        ServerExceptionThread serverExceptionThread = ac.getBean(XxThread.class);
        Thread thread = new Thread(serverExceptionThread);
        thread.start();
    }

第二步:自己的线程类 该干嘛干嘛。。。

第三步:

@SpringBootApplication
public class XxApplication {

	public static void main(String[] args) {
		SpringApplication springApplication =new SpringApplication(XxApplication.class);
		//添加进启动
                springApplication.addListeners(new XxStartup());
		springApplication.run(args);
	}
}

 

以上所有的类命名都是乱取的。。。随便记录一下。希望能帮助到需要的朋友

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值