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

济阳县建设局网站房地产销售新手入门知识

济阳县建设局网站,房地产销售新手入门知识,深圳航空网上值机选座,乐清网络平台Rest微服务工程搭建---学习笔记2/91、简单架构示意图2、创建Cloud-provider-payment8001 微服务提供者Module模块2.1. 建Module2.2. 改pom2.3. 写yml2.4. 主启动2.5. 业务类3、创建Cloud-consumer-order80 微服务消费者订单Module模块3.1. 建Module3.2. 改pom3.3. 写yml3.4. 主… Rest微服务工程搭建---学习笔记2/91、简单架构示意图2、创建Cloud-provider-payment8001 微服务提供者Module模块2.1. 建Module2.2. 改pom2.3. 写yml2.4. 主启动2.5. 业务类3、创建Cloud-consumer-order80 微服务消费者订单Module模块3.1. 建Module3.2. 改pom3.3. 写yml3.4. 主启动3.5. 业务类4、工程重构4.1 新建一个 cloud-api-commons 子模块4.2 mvn跳过testmvc cleanmvn install1、简单架构示意图 两个模块一个是服务提供者模块另一个是服务消费者模块 2、创建Cloud-provider-payment8001 微服务提供者Module模块 2.1. 建Module 创建完成后回到父工程查看pom文件变化 ?xml version1.0 encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.tigerhhzz.springcloud/groupIdartifactIdspringcloud2023/artifactIdversion1.0-SNAPSHOT/versionmodulesmoduleCloud-provider-payment8001/module/modulespackagingpom/packagingnameMaven/name!-- FIXME change it to the projects website --urlhttp://maven.apache.org//urlinceptionYear2001/inceptionYeardistributionManagementsiteidwebsite/idurlscp://webhost.company.com/www/website/url/site/distributionManagement!-- 统一管理jar包版本 --propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetjunit.version4.13.2/junit.versionlog4j.version1.2.17/log4j.versionlombok.version1.18.26/lombok.versionmysql.version8.0.32/mysql.versiondruid.version1.2.16/druid.versionmybatis.spring.boot.version3.0.1/mybatis.spring.boot.version/properties!-- 1、只是声明依赖并不实际引入子项目按需声明使用的依赖 --!-- 2、子项目可以继承父项目的 version 和 scope --!-- 3、子项目若指定了 version 和 scope以子项目为准 --dependencyManagementdependencies!--spring boot 2.2.2--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion3.0.5/versiontypepom/typescopeimport/scope/dependency!--spring cloud Hoxton.SR1--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion2022.0.2/versiontypepom/typescopeimport/scope/dependency!--spring cloud alibaba 2.1.0.RELEASE--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2021.0.4.0/versiontypepom/typescopeimport/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion${mysql.version}/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion${druid.version}/version/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion${mybatis.spring.boot.version}/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/version/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion${log4j.version}/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/versionoptionaltrue/optional/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationforktrue/forkaddResourcestrue/addResources/configuration/plugin/plugins/build/project 2.2. 改pom 修改本模块的pom文件如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud2023/artifactIdgroupIdcom.tigerhhzz.springcloud/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdCloud-provider-payment8001/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupId!--这个和web要写到一块--artifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10/version/dependency!--mysql-connector-java--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency!--jdbc--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies/project2.3. 写yml 编写application.yml配置文件 server:port: 8001spring:application:name: cloud-provider-payment8001datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/springcloud-tigerhhzz?useUnicodetruecharacterEncodingutf-8useSSLfalseusername: rootpassword: 123456 mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.dkf.springcloud.entities # 所有Entity 别名类所在包 热部署这里我使用的Jrebel插件。 2.4. 主启动 package com.tigerhhzz.springcloud;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** author Administrator*/ SpringBootApplication public class PaymentMain8001 {public static void main(String[] args){SpringApplication.run(PaymentMain8001.class, args);} }2.5. 业务类 下面的常规操作 建表SQL create table payment(id bigint(20) not null auto_increment comment ID,serial varchar(200) default ,PRIMARY KEY (id))ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8select * from payment;entities import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;Data //set/get方法 AllArgsConstructor //有参构造器 NoArgsConstructor //无参构造器 public class Payment implements Serializable {private long id;//数据库是bigintprivate String serial; }通用结果返回类实体 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;//返回给前端的通用json数据串 Data //set/get方法 AllArgsConstructor //有参构造器 NoArgsConstructor //无参构造器 public class CommonResultT {private Integer code;private String message;private T data; //泛型对应类型的json数据//自定义两个参数的构造方法public CommonResult(Integer code, String message){this(code, message, null);} }dao Mapper // 是ibatis下面的注解 //Repositoty有时候会有问题 public interface PaymentDao {int create(Payment payment);Payment getPaymentById(Param(id) Long id); }resource下创建mapper文件夹新建PaymentMapper.xml。在yml里有所有entity别名类所在包所有payment不用写全类名 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.tigerhhzz.springcloud.dao.PaymentDaoresultMap idBaseResultMap typecom.tigerhhzz.springcloud.entities.Paymentid columnid propertyid jdbcTypeBIGINT/id columnserial propertyserial jdbcTypeVARCHAR//resultMapinsert idcreate parameterTypePayment useGeneratedKeystrue keyPropertyidinsert into payment(serial) values (#{serial})/insertselect idgetPaymentById parameterTypeLong resultMapBaseResultMapselect * from payment where id #{id}/select /mapperParam注解 service public interface PaymentService {int create(Payment payment);Payment getPaymentById(Param(id) Long id); }Service public class PaymentServiceImpl implements PaymentService {Autowiredprivate PaymentDao paymentDao;Overridepublic int create(Payment payment) {return paymentDao.create(payment);}Overridepublic Payment getPaymentById(Long id) {return paymentDao.getPaymentById(id);} }controller RestController //必须是这个注解因为是模拟前后端分离的restful风格的请求要求每个方法返回 json Slf4j public class PaymentController {Resourceprivate PaymentService paymentService;PostMapping(value /payment/create)// 注意这里的 RequestBody 是必须要写的虽然 MVC可以自动封装参数成为对象// 但是当消费者项目调用它传参是 payment 整个实例对象传过来的 即Json数据因此需要写这个注解public CommonResult create(RequestBody Payment payment){int result paymentService.create(payment);log.info(****插入结果 result);if(result 0){return new CommonResult(200, 插入数据库成功, result);}return new CommonResult(444, 插入数据库失败, null);}GetMapping(value /payment/{id})public CommonResult getPaymentById(PathVariable(id)Long id){Payment result paymentService.getPaymentById(id);log.info(****查询结果 result);if(result ! null){return new CommonResult(200, 查询成功, result);}return new CommonResult(444, 没有对应id的记录, null);} }启动8001模块 对应POST方式的请求要学会用POSTMAN工具 测试插入一条数据 微服务多了之后就使用run dashboard 不但编译有个别地方会报错启动也会报错但是测试两个接口都是没问题的推测启动报错是因为引入了下面才会引入的jar包目前不影响。 3、创建Cloud-consumer-order80 微服务消费者订单Module模块 3.1. 建Module 3.2. 改pom 修改本模块的pom文件如下 3.3. 写yml 编写application.yml配置文件 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud2023/artifactIdgroupIdcom.tigerhhzz.springcloud/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdCloud-consumer-order80/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies/project3.4. 主启动 OrderMain80.java package com.tigerhhzz.springcloud;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class OrderMain80{public static void main(String[] args){SpringApplication.run(OrderMain80.class,args);} }3.5. 业务类 entites包中的类也拷贝到本项目中 entities/CommonResult.java entities/Payment.java 配置RestTemplate ApplicationContextConfig 内容 package com.tigerhhzz.springcloud.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;/*** author tigerhhzz* date 2023/4/8 22:52*/ Configuration public class ApplicationContextConfig {Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();/*RestTemplate提供了多种便捷访问远程http服务的方法是一种简单便捷的访问restful服务模板类是spring提供的用于rest服务的客户端模板工具集*/} }controller package com.tigerhhzz.springcloud.controller;import com.tigerhhzz.springcloud.entities.CommonResult; import com.tigerhhzz.springcloud.entities.Payment; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;RestController Slf4j public class OrderController {//远程调用的 地址public static final String PAYMENY_URL http://localhost:8001;Resourceprivate RestTemplate restTemplate;PostMapping(customer/payment/create)public CommonResultPayment create (Payment payment){return restTemplate.postForObject(PAYMENY_URL /payment/create,//请求地址payment,//请求参数CommonResult.class);//返回类型}GetMapping(customer/payment/{id})public CommonResultPayment getPaymentById(PathVariable(id)Long id){return restTemplate.getForObject(PAYMENY_URL /payment/ id,//请求地址CommonResult.class);//返回类型} } 如果 runDashboard 控制台没有出来右上角搜索 即可 运用spring cloud框架基于spring boot构建微服务一般需要启动多个应用程序在idea开发工具中多个同时启动的应用 需要在RunDashboard运行仪表盘中可以更好的管理但有时候idea中的RunDashboard窗口没有显示出来也找不到直接的开启按钮 80调用8001服务测试成功 4、工程重构 将两个微服务模块中公共的部分例如实体类等放到新建的微服务公共模块中 上面 两个子项目有多次重复的 导入 jar和重复的 Entity 实体类。可以把 多余的部分加入到一个独立的模块中将这个模块打包并提供给需要使用的 module 4.1 新建一个 cloud-api-commons 子模块 将 entities 包里面的实体类放到这个子模块中也将 pom 文件中重复导入的 jar包放到这个新建的 模块的 pom 文件中。如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringcloud2023/artifactIdgroupIdcom.tigerhhzz.springcloud/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdCloud-api-commons/artifactIddependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- 这个是新添加的之前没用到后面会用到。关于这个hutool 是个功能强大的工具包官网https://hutool.cn/ --dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.1.0/version/dependency/dependencies/project4.2 mvn跳过testmvc cleanmvn install 将此项目打包 install 到 maven仓库。 将 提供者 和 消费者 两个项目中的 entities 包删除并删除掉加入到 cloud-api-commons 模块的 依赖配置。 将 打包到 maven 仓库的 cloud-api-commons 模块引入到 提供者 和 消费者的 pom 文件中如下所示 !-- 引入自己定义的api通用包 --dependencygroupIdcom.tigerhhzz.springcloud/groupIdartifactIdCloud-api-commons/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope/dependencypost测试插入数据成功
http://www.dnsts.com.cn/news/51730.html

相关文章:

  • 网站加地图软件制作视频
  • 旅游网站前台怎么做墙内千兆网站怎么做
  • 莒县网站设计苏州做网站公司选苏州聚尚网络
  • 湖北省建设网站线上推广有哪些平台效果好
  • 综合门户网站建设香精香料网
  • 山河建设集团有限公司的网站杭州做网站比较出名的公司
  • dede电影网站模板下载it培训网
  • 淘客网站备案教程广东省建设工程质量安全协会网站
  • 专门做卫生间效果图的网站广告搜索引擎
  • 清河做网站哪家好企业建设网页
  • 网站建设好后的手续交接seo排名诊断
  • 荣耀手机商城官方网站登录入口运营培训班学费大概多少
  • 神华科技网站建设设计公司企业标志
  • 做外贸有哪些好的网站有哪些开发公司购买的小区内娱乐设施进什么科目
  • 网站设计导航代理公司的经营范围
  • 小孩子做手工做游戏的网站网站备份了怎么恢复
  • 在谷歌上做网站广告要多少钱潍坊作风建设网站
  • 仿古建筑公司网站网站做好是需要续费的吗
  • 网络网站建设公司排名网业安全防护如何关闭
  • 网站托管怎么做等保优化大师免费下载安装
  • 在家百度统计网站打不开百度网盘官方
  • 微网站建设包含哪些内容网站建设服务联享科技
  • 谢家华做网站阿里建站官网
  • 免费做四年级题的网站wordpress如何修改成中文字体
  • dede网站更新如何同步腾讯微博更新飞飞cms官网
  • 免费平面设计模板网站徐州网站建设xzqjwl
  • 站长之家模板正规网店加盟代理
  • 郑州做定制网站的公司大兴网站建设公司电话
  • 建立中英文网站摄影网站图片
  • 优化排名推广技术网站深圳小程序app定制开发