美文网首页
SpringBoot 项目启动后立马执行某个方法

SpringBoot 项目启动后立马执行某个方法

作者: IT祖师爷 | 来源:发表于2022-02-24 16:06 被阅读0次

     因为自身做项目要用到,所以收集了一下大概有三种,目前使用 实现ApplicationRunner接口形式。

    有一点小坑,因为我要调用的方法是要从配置文件中取值才行,但是这个实现ApplicationRunner接口形式 调用方法,会优先于从配置文件中取值,调用的时候会报空指针异常,所以目前只能将参数从run方法执行的时候就传进去才可以顺利执行。

    需要在类上加上component注解实例化到spring容器中

    代码实现

    import com.UdpRecieve.controller.LoginController;

    import com.UdpRecieve.domain.LoginSendInfo;

    import com.UdpRecieve.utils.MyHttpUtil;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.boot.ApplicationArguments;

    import org.springframework.boot.ApplicationRunner;

    import org.springframework.core.annotation.Order;

    import org.springframework.stereotype.Component;

    import java.util.HashMap;

    import java.util.Map;

    /**

    * 说明:启动运行

    * 作者:FH Admin

    * from:fhadmin.cn

    */

    @Component

    @Order(2)

    public class MyApplicationRunnerImpl implements ApplicationRunner {

        @Autowired

        private LoginSendInfo loginSendInfo;

        @Override

        public void run(ApplicationArguments args) throws Exception {

            System.out.println("开始执行MyApplicationRunnerImpl-run方法");

            Map<String, Object> loginInfoMap = new HashMap<>();

            loginInfoMap.put("usrName", "123456");

    loginIsSuccess(loginInfoMap, loginSendInfo.getUrl());

            System.out.println("----loginIsSuccess方法执行----\n" + (success ? "登录成功" : "登录失败"));

            System.out.println("MyApplicationRunnerImpl-run方法执行完毕");

        }

    }

    相关文章

      网友评论

          本文标题:SpringBoot 项目启动后立马执行某个方法

          本文链接:https://www.haomeiwen.com/subject/lwgzlrtx.html