赞
踩
第一步:pom中添加依赖
<dependency>
<!--将服务注册到nacos -->
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 获取nacos上的配置信息 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
第二步:项目中配置nacos的地址(bootstrap.yml)
spring: application: name: xxx # 应用名称 profiles: active: dev # 环境配置 cloud: nacos: username: nacos password: nacos discovery: server-addr: ${profile.addr} # 服务注册地址 namespace: ${profile.server.namespace} config: # 配置中心地址 server-addr: ${profile.addr} # 配置文件格式 file-extension: yml # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} namespace: ${profile.namespace}
nacos的地址信息在pom.xml文件中统一配置
<!-- 开发 -->
<profile>
<id>dev</id>
<activation>
<!--默认激活配置,maven打包默认选用的配置-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!--当前环境自定义配置,标签名自定义-->
<profile.addr>127.0.0.1:8848</profile.addr>
<profile.namespace>ad9e8aa0-46f9-441c-80aa-3711bd053214</profile.namespace>
<profile.server.namespace>d17fec7f-44d5-4a03-98a0-3b95170e2619</profile.server.namespace>
</properties>
</profile>
第三步:获取nacos上配置的信息
@Slf4j @Service public class TestService { // @Value 是spring自带的注解 @Value("${sms.url}") private String sendSmsUrl; private final static String method = "POST"; public JSONObject sendSms(UKeyProcBody uKeyProcBody) { // 创建httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(30 * 1000) .setConnectTimeout(30 * 1000).build(); // 创建post方式请求对象 HttpPost post = new HttpPost(sendSmsUrl); post.setConfig(requestConfig); // 请求的数据包为raw,设置报文头为Content-Type post.setHeader("Content-Type", "application/json"); Map<String, Object> paramTaskUpdate = new HashMap<String, Object>(); paramTaskUpdate.put("phone", phone); paramTaskUpdate.put("type", "receive"); paramTaskUpdate.put("signature", ""); paramTaskUpdate.put("str", ""); // 装载参数 StringEntity postingString = new StringEntity(paramTaskUpdate.toString(), "utf-8"); post.setEntity(postingString); // 执行请求并拿到结果 HttpResponse response = null; String content = null; JSONObject resmap = new JSONObject(); resmap.put("flag", true); try { response = httpClient.execute(post); // 判断返回状态是否正常 int state = response.getStatusLine().getStatusCode(); httpClient.close(); } catch (Exception e) { return resmap; } return resmap; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。