zoukankan      html  css  js  c++  java
  • Runner启动器

    Runner启动器的两种创建方式:

    • 实现ApplicationRunner接口,复写run()方法
    • 实现CommandLineRunner接口,复写run()方法

    Runner启动器的执行顺序

      如果一个项目中包含多个启动器,可以让启动器类实现 org.springframework.core.Ordered接口或者使用 org.springframework.core.annotation.Order注解类来注解启动器类。项目启动时会按照指定的order升序执行。

    Runner启动器的创建示例

    示例一:实现ApplicationRunner接口

    package com.huang.pims.demo.runners;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.ApplicationArguments;
    import org.springframework.boot.ApplicationRunner;
    import org.springframework.core.Ordered;
    import org.springframework.core.annotation.Order;
    import org.springframework.stereotype.Component;
    
    @Component
    @Order(value = 1)
    public class ApplicationRunnerDemo implements ApplicationRunner, Ordered {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationRunnerDemo.class);
    
        @Override
        public void run(ApplicationArguments args) throws Exception {
            LOGGER.info("order:{} ApplicationRunnerDemo.run()...", getOrder());
        }
    
        @Override
        public int getOrder() {
            return 1;
        }
    }

    示例二:实现CommandLineRunner接口

    package com.huang.pims.demo.runners;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.core.Ordered;
    import org.springframework.stereotype.Component;
    
    @Component
    public class CommandLineRunnerDemo implements CommandLineRunner, Ordered {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(CommandLineRunnerDemo.class);
    
    
        @Override
        public void run(String... args) throws Exception {
            LOGGER.info("order:{} CommandLineRunner.run()...", getOrder());
        }
    
        @Override
        public int getOrder() {
            return 0;
        }
    }

      以上两种创建方式,都需要使用@Component注解将之添加到Spring IOC容器中,这样,项目在启动时就会自动执行Runner启动器中的run()方法。

    启动项目后的效果如下:

  • 相关阅读:
    Hibernate使用固定值关联表
    使用spring-data-JPA调用存储过程
    angularjs动态添加节点时,绑定到$scope中
    JPA子查询
    表格表头固定的一种实现方式
    Unicode、UTF8与UTF16
    primefaces4.0基本教程以及增删改查
    tomcat发布webservice
    KonBoot – 只要5K映象文件轻易绕过您的WindowsXP/VISTA/7系统的密码
    Setting .xap MIME Type for Silverlight
  • 原文地址:https://www.cnblogs.com/517cn/p/10943721.html
Copyright © 2011-2022 走看看