详解springboot设置默认参数Springboot.setDefaultProperties(map)不生效解决

网友投稿 412 2022-12-01


详解springboot设置默认参数Springboot.setDefaultProperties(map)不生效解决

我们都知道springboot 由于内置tomcat(中间件)直接用启动类就可以启动了。

而且我们有时想代码给程序设置一些默认参数,所以使用方法Springboot.setDefaultProperties(map)

SpringApplication application = new SpringApplication(startClass);

//

Map params = new HashMap<>();

params.put("lai.ws.test","test");

application.setDefaultProperties(params);

ApplicationContext context = application.run(startClass,args);

于是启动后发现 lai.ws.test 居然是null,也就是参数设置不成功,百思不得其解。为此还断点进入SpringApplication 的源码里。最后发现以下源码

/**

* Static helper that can be used to run a {@link SpringApplication} from the

* http://specified sources using default settings and user supplied arguments.

* @param primarySources the primary sources to load

* @param args the application arguments (usually passed from a java main method)

* @return the running {@link ApplicationContext}

*/

public static Conhttp://figurableApplicationContext run(Class>[] primarySources,

String[] args) {

return new SpringApplication(primarySources).run(args);

}

各位,发现了没,又new 了一个SpringApplication。到此,问题答案找到了。

如果启动类要设置默认参数,不用使用以下方法去启动

ApplicationContext context = application.run(startClass,args);

应该使用以下

ApplicationContext context = application.run(args);

到此这篇关于详解springboot设置默认参数Springboot.setDefaultProperties(map)不生效解决的文章就介绍到这了,更多相关Springboot.setDefaultProperties 不生效内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持BBGDJCLTcp我们!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IDEA创建springboot + mybatis项目全过程(步骤详解)
下一篇:SpringBoot+mybatis+thymeleaf实现登录功能示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~