我们今天要分享的是spring框架提供的@Order注解的使用,估计这篇文章的阅读时间应该在二到三分钟之间就结束了。
好了,其实这个注解还是蛮常用的,可以控制加载的顺序,仅此而已。下面我们还是按照往日的风格进行写吧,我们先看下我们的示例程序。
package com.wpw.dockerspringboot;
public class Student {
}
package com.wpw.dockerspringboot;
public class Student2 {
}
上面就是简单的定义两个java类,什么都不做,为下面需要写的配置类做下铺垫而已。
package com.wpw.dockerspringboot;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
@Order(value=1)//这里指定order的值为1
@Configuration
public class Configuration1 {
@Bean
public Student getStudent(){
System.out.println("configuration1被加载");
return new Student();
}
}
上面我们定义了一个配置类,里面可以获取Student类的示例,顺便打印出了一句表示加载顺序的。
package com.wpw.dockerspringboot;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
@Order(value=2)//这里设置order的值为2
@Configuration
public class Configuration2 {
@Bean
public Student2 getStudent2(){
System.out.println("configuration2被加载了");
return new Student2();
}
}
上面同样定义了一个配置类,主要是为了获取Student2类的实例,顺便打印了一下加载的顺序。
ok,到这里我们只需要启动下面的主程序。
package com.wpw.dockerspringboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DockerSpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(DockerSpringbootApplication.class, args);
}
}
我们看下控制台的输出语句就应该学会了spring提供的order注解的使用了。
2019-11-10 18:33:53.033 INFO 3136 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1383 ms
configuration1被加载
configuration2被加载了
2019-11-10 18:33:53.211 INFO 3136 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
今天需要分享的内容到这就结束了,喜欢文章的可以关注后端Coder,欢迎,转发。