@WebServiceClient(name = "PublishService", targetNamespace = "http://tempuri.org/", wsdlLocation = "https://aquavn-tt78admindemo.vnpt-invoice.com.vn/PublishService.asmx?wsdl")
public class PublishService
extends Service
{
@WebServiceClient(name = "PublishService", targetNamespace = "http://tempuri.org/", wsdlLocation = "https://aquavn-tt78admindemo.vnpt-invoice.com.vn/PublishService.asmx?wsdl")
public class PublishService
extends Service
{
你这个应该WS的注解吧,所以没有办法使用类似Spring的@Value类似的动态属性注入。
解决的思路大致两个方向吧
另外看你的代码,使用的是一个网络地址,而且是为了区分测试和生产环境,所以更简单一点,可以考虑不修改代码,而是使用host配置,nginx配置一类的反向代理,实现虽然代码内部请求的是a地址,但是实际指向的是b,网络层面的一种物理欺骗
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
1 回答976 阅读✓ 已解决
2 回答705 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
首先写一个能读取配置文件的类加上@Component作为一个bean,方便我们拿配置文件的值
然后在你的配置文件里写上:
yml:
或者properties:
这样你就会发现,在需要用到这个配置变量的地方注入这个配置类的对象就可以使用了:
或者在一个非Spring管理的类里:
然后请你查看这篇文章:
[https://blog.csdn.net/qq_35443054/article/details/109155970]
核心的代码:
就是把通过写注解的方式改成用代码显式传入参数的方式来创建。
我们只需要把负责配置的bean里public的变量这样使用就可以了: