SpringBoot的定制参数使用方法

发布时间:2020-05-25 16:53:36 作者:鸽子
来源:亿速云 阅读:291

我们都知道,SpringBoot框架最吸引人的地方之一就是他针对各种框架组件集成都提供了缺省的配置,“零配置”集成和开发是它的终极目标。理论上你不做任何特殊配置,都可以启动项目。

如果你用SpringBoot用于web项目开发,那么他就已经内嵌了web容器,无需你单独部署到tomcat或者jetty等容器中,打包成jar包即可运行,省去了反锁的打包部署流程。默认情况下,由SpringBoot启动的web项目,默认端口是8080,这也是tomcat或jetty的默认端口。那么问题来了,我要改端口怎么办,这是必然会遇到的问题。

还记得运行SpringBoot项目时,需要编写的main方法吗,当时的代码是这样的:

@SpringBootApplication
public class Application {
    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
    }
}

注意,这是一个main方法,动态传入启动参数,这跟普通运行一个java程序没什么区别。args就是他的启动参数,它是一个数组,可以带一个或多个参数。
那这个参数是用来做什么的?既然springboot默认做好了大部分的配置,那么要修改这些配置,就是通过传入main方法执行的参数将覆盖框架自动为你做好的配置。

比如,你可以用如下的类似代码,来修改你启动项目的端口:

java -jar xxx.jar --server.port=8888

再比如,你可以如下的类似代码,来修改你启动的项目在控制台输出的logo,

java -jar xxx.jar --spring.banner.location=classpath:banner.txt

最终的效果也就是把启动时,你经常看到的这个
SpringBoot的定制参数使用方法
替换成了这个:
SpringBoot的定制参数使用方法
诸如此类,还可以定制其他很多默认设置,当然有些需要在pom文件中添加相应的模块依赖,才能使用相应的功能。比如你用到了redis,那么你需要添加
spring-boot-starter-data-redis来把redis的默认设置先加载进来,在这基础上,你就可以编写定制参数,比如:

java -jar xxx.jar --spring.redis.port=6379

注意,命令的格式是:

#参数需要跟在jar包名称之后以--开头
java -jar xxx.jar --参数名=参数值   

你也可以在运行时,同时添加多个定制参数(以空格隔开),比如把上述几个例子合并起来就是:

java -jar xxx.jar --server.port=8888 --spring.banner.location=classpath:banner.txt --spring.redis.port=6379

理论上,能支持定制的参数,都可以添加。

附带说一句,用IDEA或者Myeclipse这样的IDE帮你运行项目的时候,其原理也是如此。

那么,现在就有两个问题出现了。

1、我怎么知道springboot支持哪些定制参数?

2、这么多参数,都写到运行命令上吗?那样岂不是会显得很臃肿,貌似一点都不优雅?

这两个问题,留到下次再谈。

推荐阅读:
  1. 实战定制yum仓库----gem命令常用的参数
  2. SpringBoot-定制Web容器Tomcat,请求头增加traceid参数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot spring

上一篇:Centos 7.3 搭建EFK日志分析的步骤

下一篇:Mysqldump有哪些参数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》