SpringBoot:springboot启动参数

Posted yy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot:springboot启动参数相关的知识,希望对你有一定的参考价值。

 springboot默认启动入口函数是支持接收参数,并且在整个应用程序内部也可以获取到这些参数,并且如果传递的参数是一些内部定义的参数将会被映射到springboot内部配置项,从而达到配置效果。

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;

@ComponentScan("com.dx.controller")
@EnableAutoConfiguration
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.dx.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
    private ApplicationArguments applicationArguments;

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

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

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

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

a)通过maven打包项目为jar包;

b)cmd中运行java -jar xxx.jar username=root password=pwd;

c)查看启动信息;

d)浏览器访问http://localhsot:8888/index,查看cmd屏幕输出信息。

springboot传递系统内部定义配置参数:

1)修改上述参数"username=root password=pwd"为"spring.config.name=application888 username=root password=pwd"

2)此时在src下、src\\resources、src\\resources\\config其中任意目录下添加application888.properties 文件,并修改内容为:

server.port=8880

,此时启动项目,将会发现启动端口已经发生变更,变更为8880端口。

 

以上是关于SpringBoot:springboot启动参数的主要内容,如果未能解决你的问题,请参考以下文章

springboot之docker启动参数传递

springboot启动源码解析

IDEA+SpringBoot项目启动参数设置

springboot无法启动

springboot rabbitMQ 启动报错

springboot启动后自动关闭