org.springframework.core.annotation.Order Java Code Examples

How to use @Order annotation org.springframework.core.annotation.Order

User @Order annotation to change the run order of beans that implement CommandLineRunner interface

FirstRunner.java

package dev.simplesolution.console;

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

@Component
@Order(2)
public class FirstRunner implements CommandLineRunner {
	
	private Logger logger = LoggerFactory.getLogger(FirstRunner.class);

	@Override
	public void run(String... args) throws Exception {
		logger.info("Message from First Runner.");
	}

}

SecondRunner.java

package dev.simplesolution.console;

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

@Component
@Order(1)
public class SecondRunner implements CommandLineRunner {

	private Logger logger = LoggerFactory.getLogger(SecondRunner.class);
	
	@Override
	public void run(String... args) throws Exception {
		logger.info("Message from Second Runner.");
	}

}

Spring Boot Console Application using CommandLineRunner