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端口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM