IDEA项目-搭建快速开发的前后端连通环境
搭建列表获取前后端快速开发模板整合renren-fast-vue到vscode中整合renren-fast、renren-generator到IDEA中1. 整合renren-fast2. 整合renren-generator获取前后端快速开发模板gitee官网:https://gitee.com/renreniorenren-fast:是一个轻量级的后端快速开发模板renren-fast-vue
搭建列表
获取前后端快速开发模板
gitee官网:https://gitee.com/renrenio
- renren-fast:是一个轻量级的后端快速开发模板
- renren-fast-vue: 是实现renren-fast后台管理的前端功能模板
- renren-generator:代码生成器
git clone https://gitee.com/renrenio/renren-fast.git
git clone https://gitee.com/renrenio/renren-fast-vue.git
git clone https://gitee.com/renrenio/renren-generator.git
整合renren-fast-vue到vscode中
-
下载Nodejs : https://nodejs.org/download/release/v10.22.1/
下载完成,打开控制台输入node -v
查看是否安装成功
配置npm使用淘宝镜像npm config set registry http://registry.npm.taobao.org/
-
将renren-fast-vue拖到vscode中,在vscode终端输入
npm install
开始安装
-
运行项目
npm run dev
-
如果安装失败,输入
npm cache clean --force
,删除node_modules
整合renren-fast、renren-generator到IDEA中
1. 整合renren-fast
-
将renren-fast添加到项目中
-
复制sql里的语句,创建对应的数据库和表
-
修改application-dev.yml的配置数据库信息
-
搭建成功,启动服务
2. 整合renren-generator
- 将renren-generator添加到项目中
- 修改配置文件
- 开启服务,访问80端口,利用代码生成器生成代码,将main文件放入对应的微服务
- 创建一个maven模块作为各个微服务的公共部分
- 配置guliamll-common下的pom.xml公共依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>gulimall</artifactId>
<groupId>com.rock.gulimall</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>gulimall-common</artifactId>
<description>每一个微服务的公共依赖,bean,工具类等</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.14</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
- 从renren-fast模块中,引入相关公共文件
- 在gulimall-product的pom.xml中先引入gulimall-common
- 在resource中添加application.yml,配置数据库相关数据和端口号
spring:
datasource:
username: root
password: 102866
url: jdbc:mysql://192.168.10.88/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
global-config:
db-config:
id-type: auto
server:
port: 7000
- 在主类上添加扫描包
整合SpringCould微服务
1. 在gulimall-common公共模块中添加依赖管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2. 搭建Nacos注册中心
在docker中安装nacos/nacos-server
docker pull nacos/nacos-server
mkdir -p /mydata/nacos/init.d /docker/nacos/logs
touch /mydata/nacos/init.d/custom.properties
vim /mydata/nacos/init.d/custom.properties
management.endpoints.web.exposure.include=*
docker run -d -p 8848:8848 -e MODE=standalone -v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /mydata/nacos/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server
访问地址:http://192.168.10.88:8848/nacos
在gulimall-common公共模块中添加nacos注册中心的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
<version>3.0.3</version>
</dependency>
在微服务模块中的配置注册中心地址和模块名
添加openfeign请求超时配置
ribbon:
ReadTimeout: 120000 #请求处理的超时时间
ConnectTimeout: 30000 #请求连接的超时时间
### 配置网关反向代理
zuul:
host:
connect-timeout-millis: 60000 #HTTP连接超时大于Hystrix的超时时间------自己新增的------》
socket-timeout-millis: 60000 #socket超时
开启注册中心服务
3. 测试OpenFeign远程调用微服务
在gulimall-coupon微服务模块创建远程服务
在gulimall-member微服务模块创建接口接收远程服务
调用远程服务
开启OpenFeign
4. 搭建Nacos配置中心
在gulimall-common公共模块中,导入配置中心相关依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.1</version>
</dependency>
在gulimall-coupon微服务模块中创建bootstrap.properties
# 微服务模块名
spring.application.name=gulimall-coupon
# nacos的服务地址
spring.cloud.nacos.config.server-addr=192.168.10.88:8848
开启自动刷新
@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {}
测试配置中心是否可用
- 在gulimall-coupon微服务模块中的application.properties,添加配置参数
coupon.user.name=yan
coupon.user.age=21
- 在CouponController中添加测试方法
@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
@Value("${coupon.user.name}")
private String name;
@Value("${coupon.user.age}")
private Integer age;
/**
* 测试配置中心是否可用
* @return
*/
@RequestMapping("/config")
public R ConfigurationCenter(){
return R.ok().put("name", name).put("age", age);
}
}
- 在nacos服务端添加配置列表(Data ID:模块名.properties)
5. 配置命名空间
作用:设置隔离
- 以开发环境进行隔离(开发prop、测试test、发布dev)
- 以微服务进行隔离
创建命名空间
在boostrap.properties中指定命名空间ID
spring.cloud.nacos.config.namespace=8dde4393-1ee0-4e1e-b57a-e1701d6cb3b2
6. 配置分组
在boostrap.properties中指定分组
spring.cloud.nacos.config.group=dev
7. 加载配置集
在nacos中创建配置集
在bootstrap.properties中绑定配置集
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true
spring.cloud.nacos.config.extension-configs[1].data-id=mybatis-plus.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true
spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true
8. 搭建API网关Gateway
- 创建gulimall-gateway模块
- 引入公共依赖,并排除数据库相关依赖
<dependencies>
<dependency>
<groupId>com.rock.gulimall</groupId>
<artifactId>gulimall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependencies>
-
创建gulimll-gateway的命名空间
-
搭建注册中心
# 注册中心
spring.cloud.nacos.discovery.server-addr=192.168.10.88:8848
spring.application.name=gulimall-gateway
spring.cloud.nacos.discovery.namespace=90b0a7b4-7618-489a-85f4-aa87775da06a
server.port=88
开启注册服务
- 搭建配置中心
# 配置中心
spring.cloud.nacos.config.server-addr=192.168.10.88:8848
spring.application.name=gulimall-gateway
spring.cloud.nacos.config.namespace=90b0a7b4-7618-489a-85f4-aa87775da06a
开启实时刷新
- 配置路由规则
spring:
cloud:
gateway:
routes:
- id: test_route
uri: https://www.baidu.com
predicates:
- Query=url,baidu
更多推荐
所有评论(0)