springboot自定义stater启动流程

springboot启动时自动加载application.properties或者application.yml,如何定义自己的配置让springboot自动识别:

首先我们新建一个maven工程打包方式选择jar,然后引入所需的包



  4.0.0
  
    org.springframework.boot
    spring-boot-starter-parent
    2.1.6.RELEASE
     
  
  com.ruobbo.xxl
  ruobbo.xxl
  0.0.1-SNAPSHOT
  jar
  
    1.8
  
  
    
      org.springframework.boot
      spring-boot-starter
      2.1.6.RELEASE
    
    
      org.springframework.boot
      spring-boot-autoconfigure
      2.1.6.RELEASE
    
    
      org.springframework.boot
      spring-boot-configuration-processor
      2.1.6.RELEASE
    
    
      org.projectlombok
      lombok
      1.18.8
      provided
    
    
      com.xuxueli
      xxl-job-core
      2.0.1
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
      
        
          org.junit.vintage
          junit-vintage-engine
        
      
    
  
  
  
    
      releases
      http://192.168.1.99:8081/nexus/content/repositories/releases
    
    
      snapshots
      http://192.168.1.99:8081/nexus/content/repositories/snapshots
    
  

然后是配置读取

@ConfigurationProperties(prefix = "xxl.job.executor")
@Data
public class XxlProperties {
  private String adminAddresses;
  private String appName;
  private String ip;
  private int port;
  private String accessToken;
  private String logPath;
  private int logRetentionDays;
  private String basePackages;
  
}

将读取到的配置注入到bean中,然后加载到spring bean容器中

@Configuration
@EnableConfigurationProperties(XxlProperties.class)
public class XxlAutoConfiguration {
  
  private Logger logger = LoggerFactory.getLogger(XxlAutoConfiguration.class);
  
  @Resource
  private XxlProperties xxlProperties;
  
  @Bean(initMethod = "start", destroyMethod = "destroy")
  public XxlJobSpringExecutor xxlJobExecutor() {
    logger.info(">>>>>>>>>>> xxl-job config init.");
    XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
    xxlJobSpringExecutor.setAdminAddresses(xxlProperties.getAdminAddresses());
    xxlJobSpringExecutor.setAppName(xxlProperties.getAppName());
    xxlJobSpringExecutor.setIp(xxlProperties.getIp());
    xxlJobSpringExecutor.setPort(xxlProperties.getPort());
    xxlJobSpringExecutor.setAccessToken(xxlProperties.getAccessToken());
    xxlJobSpringExecutor.setLogPath(xxlProperties.getLogPath());
    xxlJobSpringExecutor.setLogRetentionDays(xxlProperties.getLogRetentionDays());
    return xxlJobSpringExecutor;
  }
  
}

最后在resources目录下添加META-INF文件夹添加spring.factories文件,文件内容为指定要初始化springbean的类全路径

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.ruobbo.xxl.XxlAutoConfiguration

使用过程中引入包

 

   
      com.ruobbo.xxl
      ruobbo.xxl
      0.0.1-SNAPSHOT
    

然后添加配置到application.properties或者application.yml

springboot自定义stater启动流程_第1张图片

总结

以上所述是小编给大家介绍的springboot自定义stater启动流程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

你可能感兴趣的:(springboot自定义stater启动流程)