Skip to content

blade框架试用

约 373 字大约 1 分钟

2025-04-30

SpringBlade下载&导入工程

image-20250430100556658

环境准备

Nacos

* SpringBlade的注册中心
* 具体文档详见:https://nacos.io/zh-cn/docs/quick-start.html
* docker部署详见:https://github.com/nacos-group/nacos-docker
* SpringBlade配置详见:https://www.kancloud.cn/smallchill/blade/913215

知识点

Nacos地址在哪里配置?

全局搜索8848,可以找到blade-common中存在LauncherConstant.java 中配置了 NACOS_DEV_ADDR = "127.0.0.1:8848";

继续查找调用关系,当前文件中找到 动态获取nacos地址的方法 nacosAddr(String profile) ,

继续查找调用关系,LauncherServiceImpl.java 中找到 launcher方法,

@Override
public void launcher(SpringApplicationBuilder builder, String appName, String profile) {
    Properties props = System.getProperties();
    PropsUtil.setProperty(props, "spring.cloud.nacos.username", LauncherConstant.NACOS_USERNAME);
    PropsUtil.setProperty(props, "spring.cloud.nacos.password", LauncherConstant.NACOS_PASSWORD);
    PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.server-addr", 	LauncherConstant.nacosAddr(profile));
    PropsUtil.setProperty(props, "spring.cloud.nacos.config.server-addr", LauncherConstant.nacosAddr(profile));
    PropsUtil.setProperty(props, "spring.cloud.sentinel.transport.dashboard", LauncherConstant.sentinelAddr(profile));
    PropsUtil.setProperty(props, "spring.zipkin.base-url", LauncherConstant.zipkinAddr(profile));
}

继续向上查找, 依赖包blade-core-launcher.jar 中定义了service LauncherService.java

在这个jar包中,有 BladeApplication.java 其中 调用了 LauncherService.java 的launcher相关方法

综上:因为所有模块都引入了blade-common依赖, 所以 都默认获取了环境对应的nacos 及相关sentinel、zipkin地址

Gateway网关在哪里配置?

参考:https://sns.bladex.cn/q-11456.html

bladex的gateway配置了自动转发,比如你注册到nacos的服务名为:carbon-service-etp,那么就可以直接通过 http://localhost/carbon-service-etp/xxx 来调用。

如果需要额外自定义服务名,可以用如下配置操作:

另外:SpringCloud网关路由支持三种:静态路由、动态路由、自动路由。

https://developer.aliyun.com/article/1245301

自动路由:

spring.cloud.gateway.discovery.locator.enabled=true