首页 > 编程语言 > 详细

SpringMVC依照配置文件配置路由(适用于生成环境和开发环境路由不同的情况)

时间:2019-05-06 17:48:48      阅读:493      评论:0      收藏:0      [点我收藏+]

背景:

在进行微信公众号支付开发时,由于微信官方针对公众号支付,小程序支付等需要配置支付安全目录(也就是指定支付的二级域名路由),

但无奈开发环境和生产环境不能使用同一个路由,否则造成生产环境下的程序不断的启停,因此使用微信后台为开发公众号支付添加测试用的支付安全目录(测试用的域名或者路由),

但这样会造成一个问题,不但上线时有大堆的配置需要改成生产环境需要的配置,还需要将路由也更改成线上环境使用的路由,这样每次更新和维护都有一大堆地方需要修改,稍有不慎就会遗漏;

所以,使用"maven环境隔离"+"@RequestMapping(value = "${占位符}")"实现依据环境不同路由不同的动态路由;

第一,使用maven环境隔离配置好开发环境和生成环境使用的路由

(1)开发环境使用的安全目录(路由)

wechat.safe.url=pay

技术分享图片

(2)生成环境使用的安全目录(路由)

wechat.safe.url=wc

技术分享图片

(3)根据不同环境选择其中一个路由进行使用

技术分享图片

第二,使用占位符配置路由

@Controller
@RequestMapping(value = "${wechat.safe.url}")//这里${wechat.safe.url},是读取配置文件wechat.payment.properties中的key名为wechat.safe.url属性
public class WxPayController {
  //some method...
}
这里${}占位符就相当于@Value("${...}")中的占位符一样,会去读取配置文件中与占位符中的内容名称相同的key对应的value作为路由,并在spring容器初始化时进行填充

 技术分享图片

所以在开发环境时,该路由是pay,而在生产环境时,该路由是wc;

这样一来就不用在上线和开发测试时修改一大堆路由信息了,只要在上线前切换使用的环境配置即可; 

SpringMVC依照配置文件配置路由(适用于生成环境和开发环境路由不同的情况)

原文:https://www.cnblogs.com/acelance/p/10820854.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!