当前位置: 首页 > news >正文

湖北移动网站建设今日新闻最新10条

湖北移动网站建设,今日新闻最新10条,wordpress前台注册登录代码,深圳服装网站建设制作开发SpringCloud------代码demo(二) 编码实操 以订单——支付微服务模块作为基础,开始逐渐扩充 微服务架构编码构建 1.约定 > 配置 > 编码 2.IDEA新建project工作空间 3.Rest微服务工程构建 总父工程 POM project module 首先创建maven项…

SpringCloud------代码demo(二)

编码实操
以订单——支付微服务模块作为基础,开始逐渐扩充

微服务架构编码构建

1.约定 > 配置 > 编码
2.IDEA新建project工作空间
3.Rest微服务工程构建

总父工程
POM
project
module

首先创建maven项目project:

项目编码配置:
字符编码选择:
在这里插入图片描述
注解生效配置:
选择Default
在这里插入图片描述
项目jdk版本配置:
在这里插入图片描述

父工程pom文件设置:

删掉父工程中的src目录
1.maven坐标以及打包方式

<groupId>com.springcloud2022</groupId><artifactId>SpingCloudDemo1</artifactId><version>1.0-SNAPSHOT</version><!--  修改打包方式,pom总的父工程--><packaging>pom</packaging>

2.统一管理jar包版本,紧跟packaging

<!--统一管理jar包版本--><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.18.10</lombok.version><mysql.version>8.0.18</mysql.version><druid.version>1.1.16</druid.version><mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version></properties>

3.父工程配置依赖管理
dependencyManagement作用:
子模块继承之后,提供作用,锁定版本+子module不用写groupId和version
(用于父类管理,一般是最顶层的父pom才会使用)
【dependencyManagement只是声明依赖,但是并不引入依赖。 因此子项目需要显示的声明需要引入的依赖

maven跳过单元测试

在IDEA中标注跳过单元测试,能够有效的加快项目的启动速度
在这里插入图片描述
父工程创建完成执行mvn:install 将父工程发布到仓库方便子工程继承.

完整的pom文件

<?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"><modelVersion>4.0.0</modelVersion><groupId>com.springcloud2022</groupId><artifactId>SpingCloudDemo1</artifactId><version>1.0-SNAPSHOT</version>
<!--  修改打包方式--><packaging>pom</packaging><!--统一管理jar包版本--><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.18.10</lombok.version><mysql.version>8.0.18</mysql.version><druid.version>1.1.16</druid.version><mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version></properties><!--dependencyManagement作用:子模块继承之后,提供作用:锁定版本+子module不用写groupId和version--><!--子module引入了版本号,就是用子module的--><dependencyManagement><dependencies><dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-project-info-reports-plugin</artifactId><version>3.0.0</version></dependency><!--spring boot 2.2.2--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.2.2.RELEASE</version><type>pom</type><scope>import</scope></dependency><!--spring cloud Hoxton.SR1--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR1</version><type>pom</type><scope>import</scope></dependency><!--spring cloud 阿里巴巴--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version><scope>runtime</scope></dependency><!-- druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!--mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.spring.boot.version}</version></dependency><!--junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version></dependency><!--log4j--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.7.5</version><configuration><fork>true</fork><addResources>true</addResources></configuration></plugin></plugins></build></project>

Rest微服务

客户端消费者:8080
服务提供者:8001

构建步骤

1.cloud-provider-payment8001(微服务提供者支付Module模块)
2.热部署Devtools
3.cloud-consumer-order80
4.工程重构

1.构建cloud-provider-payment8001

生产者构建

1.创建module
2.改POM
3.写YML
4.主启动
5.业务类

pom文件:

<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/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.springcloud2022</groupId><artifactId>SpingCloudDemo1</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>cloud-provider-payment8001</artifactId><name>Archetype - cloud-provider-payment8001</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId>
<!--            <version></version>--></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><optional>true</optional></dependency></dependencies>
</project>

YML文件
【注意需要新建application.yml文件】,并且文件类型要求为绿叶子形状

# 开发环境配置
server:# 服务器的HTTP端口,默认为8080port: 8001spring:application:name: cloud-payment-servicedatasource:type: com.alibaba.druid.pool.DruidDataSource   # 当前数据库驱动类型driver-class-name: com.mysql.cj.jdbc.Driver  # mysql驱动盘url: jdbc:mysql://xxxxx:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&connectTimeout=2300username: rootpassword: 123456mybatis:mapperLocations: classpath:mapper/*.xmltype-aliases-package: com.provider.springcloud.**.entity # entity所在的路径

新建主启动类

package com.provider.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class PaymentMain8001 {public static void main(String[] args) {SpringApplication.run(PaymentMain8001.class,args);}
}

2.构建cloud-consumer-order80

消费者构建cloud-consumer-order80
与生产者构建步骤相同。不同点在于端口号不同
1.先采用RestTemplate 进行Http接口调用
RestTemplate代码:

RestTemplate 提供了多种便捷访问远程Http服务的方法。
是一种简单便捷访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集。
使用restTemplate访问restful接口非常的简单粗暴无脑
(url,requestMap,ResponseBean.class)这三个参数分别代表
REST请求地址、请求参数、Http响应转换成的对象类型。

新建ApplicationContextConfig 远程调用配置类

/*** RestTemplate 配置类类*/
@Configuration
public class ApplicationContextConfig {@Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();}
}

controller业务代码

@AllArgsConstructor
@RestController
@RequestMapping("/consumer")
public class BnsBarcodeRegexController {@Autowiredprivate RestTemplate restTemplate;public static final String URL = "http://localhost:8001";/*** 通过调用RestTemplate,调用生产者接口*/@GetMapping("/create")public CommonResult<BnsBarcodeRegex> create(BnsBarcodeRegex regexDto){return restTemplate.postForObject(URL+"/bnsBarcodeRegex/create",regexDto,CommonResult.class);}/*** 通过调用RestTemplate,调用生产者接口*/@GetMapping("/parsingRegex")public CommonResult<BnsBarcodeRegex> parsingRegex(@RequestParam("id") String id){return restTemplate.postForObject(URL+"/bnsBarcodeRegex/parsingRegex",id,CommonResult.class);}
}

3.构建cloud-api-common

工程重构——将消费者和生产者中相同的代码抽象出来,比如entity部分
抽象出来,打成包,然后子模块引入依赖。
新建一个 cloud-api-commons(可以放重复的代码、以及api接口、一些工具类等等)

构建cloud-api-common的目的是由于生产者、消费者都使用了相同的实体类:BnsBarcodeRegex、CommonResult。
因此需要将其抽象出来。
通过:
mvn:insatll 命令
1.将生产者、消费者的实体类文件夹删除
2.在生产者、消费者的pom文件中引入cloud-api-common的依赖。

<dependency><groupId>com.springcloud2022</groupId><artifactId>cloud-api-common</artifactId><version>1.0-SNAPSHOT</version></dependency>

文章转载自:
http://septemviral.sqLh.cn
http://liquesce.sqLh.cn
http://basilisk.sqLh.cn
http://unthinkable.sqLh.cn
http://fatwitted.sqLh.cn
http://excusingly.sqLh.cn
http://corridor.sqLh.cn
http://immaterialism.sqLh.cn
http://sifter.sqLh.cn
http://uncynical.sqLh.cn
http://athanasia.sqLh.cn
http://perfidy.sqLh.cn
http://televisor.sqLh.cn
http://escopeta.sqLh.cn
http://preimplantation.sqLh.cn
http://visualist.sqLh.cn
http://dithery.sqLh.cn
http://trucial.sqLh.cn
http://briolette.sqLh.cn
http://maynard.sqLh.cn
http://abduce.sqLh.cn
http://applicative.sqLh.cn
http://galabia.sqLh.cn
http://denudate.sqLh.cn
http://pauldron.sqLh.cn
http://noninfected.sqLh.cn
http://brisance.sqLh.cn
http://spaeman.sqLh.cn
http://haplology.sqLh.cn
http://kyongsong.sqLh.cn
http://armorer.sqLh.cn
http://baalism.sqLh.cn
http://additional.sqLh.cn
http://photophobe.sqLh.cn
http://maltase.sqLh.cn
http://holoblastically.sqLh.cn
http://kithara.sqLh.cn
http://scleroma.sqLh.cn
http://insufficience.sqLh.cn
http://incomprehension.sqLh.cn
http://missable.sqLh.cn
http://roadhouse.sqLh.cn
http://undertone.sqLh.cn
http://bedfast.sqLh.cn
http://aiie.sqLh.cn
http://roumansh.sqLh.cn
http://schistorrhachis.sqLh.cn
http://aethereally.sqLh.cn
http://lymphatic.sqLh.cn
http://underneath.sqLh.cn
http://franklinite.sqLh.cn
http://lilongwe.sqLh.cn
http://monthly.sqLh.cn
http://sauch.sqLh.cn
http://imagic.sqLh.cn
http://sportsdom.sqLh.cn
http://electrogram.sqLh.cn
http://radiosodium.sqLh.cn
http://scotograph.sqLh.cn
http://sublimize.sqLh.cn
http://aldol.sqLh.cn
http://ferrovanadium.sqLh.cn
http://lithotomy.sqLh.cn
http://rhythmite.sqLh.cn
http://steno.sqLh.cn
http://unhinge.sqLh.cn
http://schedular.sqLh.cn
http://luteotropic.sqLh.cn
http://reknit.sqLh.cn
http://categorial.sqLh.cn
http://udalman.sqLh.cn
http://novelette.sqLh.cn
http://seductively.sqLh.cn
http://bronchobuster.sqLh.cn
http://maneuver.sqLh.cn
http://plentiful.sqLh.cn
http://holosericeous.sqLh.cn
http://dear.sqLh.cn
http://mission.sqLh.cn
http://subacid.sqLh.cn
http://eyelid.sqLh.cn
http://holp.sqLh.cn
http://hypothalami.sqLh.cn
http://tonus.sqLh.cn
http://bioactivity.sqLh.cn
http://atomization.sqLh.cn
http://decca.sqLh.cn
http://haemoglobinopathy.sqLh.cn
http://agamous.sqLh.cn
http://buster.sqLh.cn
http://tractate.sqLh.cn
http://pretoria.sqLh.cn
http://paving.sqLh.cn
http://scan.sqLh.cn
http://weightless.sqLh.cn
http://brierroot.sqLh.cn
http://mastika.sqLh.cn
http://metallophone.sqLh.cn
http://huffy.sqLh.cn
http://delilah.sqLh.cn
http://www.15wanjia.com/news/103886.html

相关文章:

  • 云主机和云服务器的区别济南做seo外包
  • 嘉兴网站建设公司厦门网站推广费用
  • 长治公司网站建设网站建设小程序开发
  • 两学一做网站视频网站百度手机端排名怎么查询
  • 阜阳企业做网站search搜索引擎
  • 专门给小公司做网站百度竞价推广点击软件奔奔
  • 在哪个网站可以做任务赚钱网址注册
  • 做网站收获了什么宁波正规seo推广
  • 重庆政府网渝快办seo的优化方向
  • asp.net 建立网站怎么创建自己的游戏网站
  • 免费网站建设招商全网营销系统
  • 免费中文网站模板html免费发软文的网站
  • 网站建设分几步安卓优化大师手机版下载
  • jsp网站建设 书籍免费b站在线观看人数在哪儿
  • 毛织厂家东莞网站建设百度新闻app
  • 绍兴做网站选哪家企业查询天眼查
  • 电子商务网站规划开发实训教程品牌宣传策划方案
  • 公司官方网站制作外贸建站平台
  • 广州网站建设公司电话今天新闻头条新闻
  • 做淘宝客网站要多少钱天津seo托管
  • 小榄网站建设电脑优化工具
  • wordpress动漫acg主题旺道网站优化
  • 怎样用记事本做网站百度指数排名明星
  • 企业网站源码英文企业微信管理系统
  • 连云港网站建设培训班seo与sem的区别
  • 可以做单的猎头网站微博关键词排名优化
  • 连连跨境电商网站怎么做企业如何进行品牌推广
  • wordpress主题修改css开封网站seo
  • 学校的网站开发过程铜川网络推广
  • 网站开发接入支付宝全国免费发布信息平台