Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
580b2388
提交
580b2388
authored
9月 23, 2019
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- demo 项目,增加 RPC 接口
上级
683b9a7a
显示空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
202 行增加
和
0 行删除
+202
-0
pom.xml
demo/demo-application/pom.xml
+11
-0
DemoApplication.java
...ava/cn/iocoder/mall/demo/application/DemoApplication.java
+12
-0
DemoProductController.java
...ll/demo/application/controller/DemoProductController.java
+12
-0
application-dev.yaml
.../demo-application/src/main/resources/application-dev.yaml
+0
-0
application-local.yaml
...emo-application/src/main/resources/application-local.yaml
+13
-0
application-pre.yaml
.../demo-application/src/main/resources/application-pre.yaml
+0
-0
application-prod.yaml
...demo-application/src/main/resources/application-prod.yaml
+0
-0
application-uat.yaml
.../demo-application/src/main/resources/application-uat.yaml
+0
-0
application.yaml
demo/demo-application/src/main/resources/application.yaml
+7
-0
business-local.yaml
demo/demo-business/src/main/resources/business-local.yaml
+0
-0
DemoJobHandler.java
...java/cn/iocoder/mall/demo/job/handler/DemoJobHandler.java
+4
-0
package-info.java
.../src/main/java/cn/iocoder/mall/demo/job/package-info.java
+1
-0
package-info.java
...q/src/main/java/cn/iocoder/mall/demo/mq/package-info.java
+1
-0
DemoProductRpcService.java
...a/cn/iocoder/mall/demo/rpc/api/DemoProductRpcService.java
+9
-0
package-info.java
.../src/main/java/cn/iocoder/mall/demo/rpc/package-info.java
+1
-0
DemoProductVO.java
.../main/java/cn/iocoder/mall/demo/rpc/vo/DemoProductVO.java
+22
-0
pom.xml
demo/demo-rpc-service/pom.xml
+50
-0
DemoProductConvert.java
.../cn/iocoder/mall/demo/rpc/convert/DemoProductConvert.java
+17
-0
package-info.java
.../src/main/java/cn/iocoder/mall/demo/rpc/package-info.java
+1
-0
DemoProductRpcServiceImpl.java
...oder/mall/demo/rpc/service/DemoProductRpcServiceImpl.java
+23
-0
rpc-local.yaml
demo/demo-rpc-service/src/main/resources/rpc-local.yaml
+18
-0
没有找到文件。
demo/demo-application/pom.xml
浏览文件 @
580b2388
...
@@ -49,6 +49,17 @@
...
@@ -49,6 +49,17 @@
<version>
1.0-SNAPSHOT
</version>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
demo-rpc-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
demo-rpc-service
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<!-- Web 相关 -->
<!-- Web 相关 -->
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
...
...
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/DemoApplication.java
浏览文件 @
580b2388
...
@@ -2,13 +2,25 @@ package cn.iocoder.mall.demo.application;
...
@@ -2,13 +2,25 @@ package cn.iocoder.mall.demo.application;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.context.config.ConfigFileApplicationListener
;
import
org.springframework.scheduling.annotation.EnableAsync
;
import
org.springframework.scheduling.annotation.EnableAsync
;
@SpringBootApplication
(
scanBasePackages
=
{
"cn.iocoder.mall.demo"
})
@SpringBootApplication
(
scanBasePackages
=
{
"cn.iocoder.mall.demo"
})
@EnableAsync
(
proxyTargetClass
=
true
)
@EnableAsync
(
proxyTargetClass
=
true
)
//@PropertySource("classpath*:/application-dubbo.yaml")
public
class
DemoApplication
{
public
class
DemoApplication
{
/**
* 设置需要读取的配置文件的名字。
* 基于 {@link org.springframework.boot.context.config.ConfigFileApplicationListener#CONFIG_NAME_PROPERTY} 实现。
*/
private
static
final
String
CONFIG_NAME_VALUE
=
"application,rpc,business"
;
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
// 设置环境变量
System
.
setProperty
(
ConfigFileApplicationListener
.
CONFIG_NAME_PROPERTY
,
CONFIG_NAME_VALUE
);
// 启动 Spring Boot 应用
SpringApplication
.
run
(
DemoApplication
.
class
,
args
);
SpringApplication
.
run
(
DemoApplication
.
class
,
args
);
}
}
...
...
demo/demo-application/src/main/java/cn/iocoder/mall/demo/application/controller/DemoProductController.java
浏览文件 @
580b2388
...
@@ -5,6 +5,8 @@ import cn.iocoder.mall.demo.application.convert.DemoProductConvert;
...
@@ -5,6 +5,8 @@ import cn.iocoder.mall.demo.application.convert.DemoProductConvert;
import
cn.iocoder.mall.demo.application.vo.DemoProductVO
;
import
cn.iocoder.mall.demo.application.vo.DemoProductVO
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.bo.product.DemoProductBO
;
import
cn.iocoder.mall.demo.business.bo.product.DemoProductBO
;
import
cn.iocoder.mall.demo.rpc.api.DemoProductRpcService
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
@@ -18,10 +20,20 @@ public class DemoProductController {
...
@@ -18,10 +20,20 @@ public class DemoProductController {
@Autowired
@Autowired
private
DemoProductService
productService
;
private
DemoProductService
productService
;
@Reference
(
validation
=
"true"
,
version
=
"${dubbo.consumer.DemoProductRpcService.version}"
)
private
DemoProductRpcService
productRpcService
;
@GetMapping
(
"/get"
)
@GetMapping
(
"/get"
)
public
CommonResult
<
DemoProductVO
>
get
(
@RequestParam
(
"id"
)
Integer
id
)
{
public
CommonResult
<
DemoProductVO
>
get
(
@RequestParam
(
"id"
)
Integer
id
)
{
DemoProductBO
product
=
productService
.
get
(
id
);
DemoProductBO
product
=
productService
.
get
(
id
);
return
CommonResult
.
success
(
DemoProductConvert
.
INSTANCE
.
convert
(
product
));
return
CommonResult
.
success
(
DemoProductConvert
.
INSTANCE
.
convert
(
product
));
}
}
// TODO 芋艿,这里只是做一个 demo 。实际一般不会这么玩,更多是内嵌的,像 {@link #get(Integer id)} 的情况。
@GetMapping
(
"/get2"
)
public
CommonResult
<
DemoProductVO
>
get2
(
@RequestParam
(
"id"
)
Integer
id
)
{
cn
.
iocoder
.
mall
.
demo
.
rpc
.
vo
.
DemoProductVO
product
=
productRpcService
.
get
(
id
);
return
null
;
}
}
}
demo/demo-application/src/main/resources/application-dev.yaml
0 → 100644
浏览文件 @
580b2388
demo/demo-application/src/main/resources/application-local.yaml
0 → 100644
浏览文件 @
580b2388
dubbo
:
application
:
name
:
demo-service
registry
:
address
:
zookeeper://127.0.0.1:2181
protocol
:
port
:
-1
name
:
dubbo
scan
:
base-packages
:
cn.iocoder.mall.demo.rpc.service
consumer
:
DemoProductRpcService
:
version
:
1.0.0
demo/demo-application/src/main/resources/application-pre.yaml
0 → 100644
浏览文件 @
580b2388
demo/demo-application/src/main/resources/application-prod.yaml
0 → 100644
浏览文件 @
580b2388
demo/demo-application/src/main/resources/application-uat.yaml
0 → 100644
浏览文件 @
580b2388
demo/demo-application/src/main/resources/application.yaml
浏览文件 @
580b2388
# spring
spring
:
application
:
name
:
demo-application
profiles
:
active
:
local
# server
# server
server
:
server
:
port
:
8080
port
:
8080
...
...
demo/demo-business/src/main/resources/
config/application
.yaml
→
demo/demo-business/src/main/resources/
business-local
.yaml
浏览文件 @
580b2388
File moved
demo/demo-job/src/main/java/cn/iocoder/mall/demo/job/handler/DemoJobHandler.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
job
.
handler
;
public
class
DemoJobHandler
{
}
demo/demo-job/src/main/java/cn/iocoder/mall/demo/job/package-info.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
job
;
demo/demo-mq/src/main/java/cn/iocoder/mall/demo/mq/package-info.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
mq
;
demo/demo-rpc-service-api/src/main/java/cn/iocoder/mall/demo/rpc/api/DemoProductRpcService.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
rpc
.
api
;
import
cn.iocoder.mall.demo.rpc.vo.DemoProductVO
;
public
interface
DemoProductRpcService
{
DemoProductVO
get
(
Integer
id
);
}
demo/demo-rpc-service-api/src/main/java/cn/iocoder/mall/demo/rpc/package-info.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
rpc
;
demo/demo-rpc-service-api/src/main/java/cn/iocoder/mall/demo/rpc/vo/DemoProductVO.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
rpc
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@ApiModel
(
"Demo 商品 BO"
)
@Data
public
class
DemoProductVO
{
@ApiModelProperty
(
value
=
"编号"
,
required
=
true
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"华为 Mate30 Pro"
,
required
=
true
,
example
=
"小王"
)
private
String
name
;
@ApiModelProperty
(
value
=
"价格,单位:分"
,
required
=
true
,
example
=
"10"
)
private
Integer
price
;
@ApiModelProperty
(
value
=
"库存数量"
,
required
=
true
,
example
=
"100"
)
private
Integer
quantity
;
}
demo/demo-rpc-service/pom.xml
浏览文件 @
580b2388
...
@@ -11,5 +11,55 @@
...
@@ -11,5 +11,55 @@
<artifactId>
demo-rpc-service
</artifactId>
<artifactId>
demo-rpc-service
</artifactId>
<dependencies>
<!-- Mall 相关 -->
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
demo-rpc-service-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
demo-business-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
cn.iocoder.mall
</groupId>
<artifactId>
demo-business
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<!-- RPC 相关 -->
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo-spring-boot-starter
</artifactId>
</dependency>
<!-- Registry 和 Config 相关 -->
<dependency>
<groupId>
org.apache.curator
</groupId>
<artifactId>
curator-framework
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.curator
</groupId>
<artifactId>
curator-recipes
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 提供给 mapstruct 使用 -->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
</project>
demo/demo-rpc-service/src/main/java/cn/iocoder/mall/demo/rpc/convert/DemoProductConvert.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
rpc
.
convert
;
import
cn.iocoder.mall.demo.business.bo.product.DemoProductBO
;
import
cn.iocoder.mall.demo.rpc.vo.DemoProductVO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.factory.Mappers
;
@Mapper
public
interface
DemoProductConvert
{
DemoProductConvert
INSTANCE
=
Mappers
.
getMapper
(
DemoProductConvert
.
class
);
@Mappings
({})
DemoProductVO
convert
(
DemoProductBO
object
);
}
demo/demo-rpc-service/src/main/java/cn/iocoder/mall/demo/rpc/package-info.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
rpc
;
demo/demo-rpc-service/src/main/java/cn/iocoder/mall/demo/rpc/service/DemoProductRpcServiceImpl.java
0 → 100644
浏览文件 @
580b2388
package
cn
.
iocoder
.
mall
.
demo
.
rpc
.
service
;
import
cn.iocoder.mall.demo.business.api.DemoProductService
;
import
cn.iocoder.mall.demo.business.bo.product.DemoProductBO
;
import
cn.iocoder.mall.demo.rpc.api.DemoProductRpcService
;
import
cn.iocoder.mall.demo.rpc.convert.DemoProductConvert
;
import
cn.iocoder.mall.demo.rpc.vo.DemoProductVO
;
import
org.apache.dubbo.config.annotation.Service
;
import
org.springframework.beans.factory.annotation.Autowired
;
@Service
(
validation
=
"true"
,
version
=
"${dubbo.provider.DemoProductRpcService.version}"
)
public
class
DemoProductRpcServiceImpl
implements
DemoProductRpcService
{
@Autowired
private
DemoProductService
productService
;
@Override
public
DemoProductVO
get
(
Integer
id
)
{
DemoProductBO
product
=
productService
.
get
(
id
);
return
DemoProductConvert
.
INSTANCE
.
convert
(
product
);
}
}
demo/demo-rpc-service/src/main/resources/rpc-local.yaml
0 → 100644
浏览文件 @
580b2388
# dubbo
dubbo
:
application
:
name
:
demo-service
registry
:
address
:
zookeeper://127.0.0.1:2181
protocol
:
port
:
-1
name
:
dubbo
scan
:
base-packages
:
cn.iocoder.mall.demo.rpc.service
# consumer:
# ProductSpuService:
# version: 1.0.0
provider
:
# filter: -exception
DemoProductRpcService
:
version
:
1.0.0
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论