当前位置: 首页 > news >正文

万网网站建设流程展厅布展方案设计

万网网站建设流程,展厅布展方案设计,番禺高端网站建设,合肥市蜀山区建设局网站背景 Kotlin作为一门JVM脚本语言,收到很多Java开发者的青睐。 项目采用JavaKotlin混合编程。Spring Boot应用开发,不会发生变动的配置放在本地配置文件,可能会变化的配置放在远程Apollo Server。 问题 因为业务需要,需要增加一…

背景

Kotlin作为一门JVM脚本语言,收到很多Java开发者的青睐。

项目采用Java+Kotlin混合编程。Spring Boot应用开发,不会发生变动的配置放在本地配置文件,可能会变化的配置放在远程Apollo Server。

问题

因为业务需要,需要增加一个可能会持续更新的配置,然后通过if else逻辑来加以判断。

apollo配置:
在这里插入图片描述
下面截图里的硬编码是未解决问题的 back-up 方案:
在这里插入图片描述
控制台打印:
在这里插入图片描述
事实上,本地开发时,习惯性先实现业务逻辑,一开始并没有在Apollo新增配置screen.channel,而是采用上面图2里的硬编码方式:

@Value("\${screen.channel: xhwjk_screen}")
var screenChannel: String? = null

这种方式不会去读取本地配置文件,也不会读取Apollo Server的配置,直接设置一个default值,也就是xhwjk_screen,但断点调试时,拿不到数据。

在本地bootstrap.yml文件里新增配置:

screen:channel: xhwjk_screen,pdwjk_screen

另外application.yml里也试过增加相同的配置项。

结论都是:获取不到配置。

对比

相同的配置,放在一个Java Controller里面就没有问题:

@Slf4j
@RestController
@RequestMapping("/dialog")
public class AuthenticationCheckController {@Value("${screen.channel: xhwjk_screen}")private String screenChannel;@GetMapping(value = "/authentication")@ResponseStatus(HttpStatus.NO_CONTENT)public void checkAuthentication() {LOGGER.info("ff:{}", screenChannel);// This resource just returns a 204 No Content in case the request is authenticated.}
}

控制台打印:

AuthenticationCheckController | checkAuthentication | 28 | - ff:xhwjk_screen,pdwjk_screen

注:
JDK版本:OpenJDK-11
Spring Boot版本:2.1.6.RELEASE
Spring Cloud版本:Greenwich.RELEASE
Kotlin版本:1.3.72

排查

尝试1

带着上面描述的问题现象搜索,找到stackoverflow-how-to-get-value-from-application-yml-in-springboot,

Apollo新增一个配置:
在这里插入图片描述
新增一个配置DialogConfig.kt类:

@Component
@ConfigurationProperties("dialog")
class DialogConfig {var screenChannel: String? = null
}

引用此配置:

@Resource
private val dialogConfig: DialogConfig? = null

仍然拿不到配置:
在这里插入图片描述

尝试2

找到另一篇stackoverflow-how-to-get-variable-from-spring-application-yaml-in-kotlin)
还是上面的DialogConfig.kt,引用配置:

@Resource
lateinit var dialogConfig: DialogConfig

直接报错:
kotlin.UninitializedPropertyAccessException: lateinit property dialogConfig has not been initialized
在这里插入图片描述
参考:stackoverflow-uninitializedpropertyaccessexception,使用前判断一下,没有判断的必要,还是拿不到数据。

尝试3

DialogConfig变成Java类:

@Component
@ConfigurationProperties("dialog")
public class DialogConfig {public String screenChannel;
}

引用此配置:

@Resource
var dialogConfig: DialogConfig? = null

还是不行!
在这里插入图片描述

解决

实在没办法,硬编码解决问题,参考截图一。

吐了。。

秃了。

http://www.yayakq.cn/news/401330/

相关文章:

  • 哈尔滨精品网站制作网站设计制作一条龙多少钱
  • 义乌 网站建设今天深圳新增确诊最新消息
  • 小型网站开发时间周期安全员资格证书查询网
  • 湖北建设厅考试网站外贸网站设计多少钱
  • 国际网站建设的目的企业推广视频
  • 平板上做网站的软件企业网站相关案例
  • 创意互动网站哪里有wordpress的教程
  • 中文网站建设合同扬州城乡建设局网站
  • 技术支持 广州骏域网站建设专家上海注册公司扶持政策
  • 网站制作开发策划做网站优化哪家好
  • 禅城网站建设哪家好有哪些做互联网项目的导航网站
  • 昆明网站seo诊断做资源网站赚钱吗
  • 建设优化网站信阳做网站推广信阳网站建设
  • 广州住房和建设局网站wordpress wp users
  • 黄冈商城网站建设哪家好十大难进的互联网公司
  • 建设一个公司的网站需要多少钱拓者设计吧邀请码免费
  • 纪梵希网站设计分析有高并发,高访问量网站开发
  • 长椿街网站建设app开发大概多少钱
  • 在线做公章网站如何给网站做权重
  • 河北建设厅网站打不开是什么原因网站建设空间
  • 网站顶部广告图片wordpress导航不固定
  • 销售网站是什么wordpress设计报告
  • 做1688网站到哪里找图片介绍网站ppt该怎么做
  • 沈阳市建设工程质量监督局网站自己做网站可以盗图吗
  • 学校网站建设招标公告谷歌浏览器 安卓下载2023版
  • 免费的招标网有哪些好口碑的关键词优化
  • 搭建品牌电商网站怎么做如何将wordpress主题换成英文版
  • 宛城区微网站开发企业管理软件下载
  • 设计网站推荐知乎插画素材网站有哪些
  • 广东地区建网站的公司北京做网站哪家好