1、CommandLineRunner 在项目中经常需要进行初始化一些数据(比如缓存等),以便后面调用使用。spring boot可以通过CommandLineRunner接口实现启动加载功能。
@Component@Order(1) //初始化加载优先级 数字越小优先级越高public class Init implements CommandLineRunner { @Resource private IESignInitService eSignInitService; @Override public void run(String... args) throws Exception { eSignInitService.init(); }
CommandLineRunner 加载会在项目启动完成之后进行加载 2、@PostConstruct 在类加载的时候,为当前类初始化一些数据,那么可以使用@PostConstruct注解。
@Componentpublic class StaticConfig { @Value("${union.card_ws_url}") private String cardWsUrl; protected static String CARD_WS_URL; @PostConstruct public void setValue() { CARD_WS_URL = cardWsUrl; }
@PostConstruct优先级在@Autowired @Value之后,所以可以获取相关的值