SpringBoot 系列教程(三十七):SpringBoot启动参数设置

       springboot默认启动入口函数是支持接收参数,而且在整个应用程序内部也可以获取到这些参数,同时如果传递的参数是一些内部定义的参数将会被映射到springboot内部配置项,从而达到配置效果。SpringBoot中有许多的地方可以向应用传入参数,而对于SpringBoot应用又非常的的重要

一、SpringBoot中主要的参数来源及优先级

   1. 通过命令行方式输入参数         

   2. ServletConfig和ServletContext;

   3. 操作系统环境变量

   4. application-profile.propert0es或者yaml文件

   5. application.properties或者yaml文件

二、SpringBoot入口参数传递与获取:

   

方式1)springboot 配置项目启动传递参数:

    a)在idea导航Run->Edit Configuration...

    

    

    b)Edit Configuration...下设置启动参数:

    

   c)修改SpringBoot启动入口函数:

package app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

import java.util.Arrays;

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        System.out.println(Arrays.toString(args));
        SpringApplication.run(App.class, args);
    }
}

d)在HelloWordController.java类中通过ApplicationArguments获取入口参数:

package com.thinkingcao.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class HelloWordController {
    @Autowired  //注入ApplicationArguments 
    private ApplicationArguments applicationArguments;

    @RequestMapping(value = "/index", method = RequestMethod.GET)
    public String index() {
        System.out.println(applicationArguments.getNonOptionArgs());
        System.out.println("index is running...")
        return "Hello SpringBoot测试ApplicationArguments ";
    }
}

e)项目启动时,参看打印信息:

     

     设置的入参信息就被传递获取到了;

f)在浏览器中访问http://localhost:8888/index,查看打印输出信息:

方式2)springboot jar包运行时传递参数:

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

发布了276 篇原创文章 · 获赞 169 · 访问量 66万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览