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

郑州网站加工杭州网站排名外包

郑州网站加工,杭州网站排名外包,常熟市做网站公司,石家庄微信小程序定制微服务框架搭建 (一)、SpringCloud-Parent1.创建一个SpringBoot项目2.导入我们的依赖 (二)、SpringCloud-API (实体类)1.创建一个SpringBoot项目2.导入我们的依赖3.创建我们的实体类 (三)、SpringCloud-dept (业务A)1.创建一个SpringBoot项目2.导入我们的依赖3.配置我们的配置信… 微服务框架搭建 (一)、SpringCloud-Parent1.创建一个SpringBoot项目2.导入我们的依赖 (二)、SpringCloud-API (实体类)1.创建一个SpringBoot项目2.导入我们的依赖3.创建我们的实体类 (三)、SpringCloud-dept (业务A)1.创建一个SpringBoot项目2.导入我们的依赖3.配置我们的配置信息4.配置我们的MVC框架(1).Dao层和XML(2).server和serverImpl(3).controller 5.测试(1).测试查询(2).测试添加(3).查询全部 (四)、SpringCloud-counsmer (用户)1.创建一个SpringBoot项目2.导入我们的依赖3.配置我们的配置信息4.配置我们的MVC框架(1).controller 5.测试(1).查询全部(2).测试添加(3).测试查找 (五)、⭐配置Eureka注册中心 (服务端)⭐1.创建一个SpringBoot项目2.导入我们的依赖3.配置我们的配置信息4.添加注册中心注解5.测试 (六)、SpringCloud-Provider (服务提供者)1.创建一个SpringBoot项目2.导入我们的依赖3.配置我们的配置信息4.向注册中心注册服务5.测试 (七)、SpringCloud-Provider (服务提供者完整版)1.导入我们的依赖2.配置我们的配置文件3.配置我们的MVC三层框架(1).dao层和mapper的配置(2).server和serverImpl的配置(3).controller的配置 4.向注册中心注册服务 (八)、SpringCloud-Consumer (消费者-完整版)1.导入我们的依赖2.配置我们的配置文件3.配置我们的MVC框架4.向注册中心注册服务5.测试 (一)、SpringCloud-Parent 1.创建一个SpringBoot项目 然后只保留这四个文件 2.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1.⭐ 这个是后面我们有多少子项目然后都写在这里进行统一管理。 --modulesmoduledemo01/modulemoduledemo02/module/modules!--2.⭐ 这个是我们本父类的三大件 --groupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/versionnameSpringCloundTest/namedescriptionSpringCloud-parent/description!--3.⭐ 进行统一管理我们的版本信息 --propertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.targetjunit.version4.12/junit.versionlog4j.version1.2.17/log4j.versionlombok.version1.16.18/lombok.version/properties!--4. ⭐ 更改打包方式--packagingpom/packaging!--5. 使用依赖管理--dependencyManagement!--6. ⭐创建依赖项--dependencies!-- SpringCloud 的依赖--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionHoxton.SR8/versiontypepom/typescopeimport/scope/dependency!-- SpringBoot 的依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.3.3.RELEASE/versiontypepom/typescopeimport/scope/dependency!-- MySql 数据库--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.6/version/dependency!-- 导入德鲁伊数据源 --dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.10/version/dependency!--SpringBoot 启动器--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion1.3.2/version/dependency!--日志测试~--dependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactIdversion1.2.3/version/dependency!--junit--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/version/dependency!-- log4j--dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion${log4j.version}/version/dependency!-- lombok --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/version/dependency/dependencies/dependencyManagement /project(二)、SpringCloud-API (实体类) 这里的API相当于是我们实体类实体类全部放在这!!! 实体类不需要启动类和测试类所以我们需要把这个实体类的启动类给手动删除。 1.创建一个SpringBoot项目 2.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1. ⭐指定他的父亲 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2. ⭐三件套 --groupIdcom.jsxs/groupIdartifactIddemo01/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo01/namedescriptionDemo project for Spring Boot/description!--3. ⭐指定版本 --propertiesjava.version1.8/java.version/properties!--4. ⭐依赖性 --dependenciesdependencygroupIdlog4j/groupIdartifactIdlog4j/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project3.创建我们的实体类 package com.jsxs.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors;import java.io.Serializable;/*** Author Jsxs* Date 2023/10/15 19:08* PackageName:com.jsxs.pojo* ClassName: Dept* Description: TODO* Version 1.0*/Data NoArgsConstructor AllArgsConstructor Accessors(chain true) //目的是为了打开链式写法 public class Dept implements Serializable { // 实体类在网络通信的时候一定要进行序列化否则会报错 ORM关系private Long deptno; // 主键private String dname; //部门的名字// 这里的数据存在哪个数据库里面。微服务: 一个服务对应一个数据库同一个信息可能存在不同的数据库中。private String db_source; } (三)、SpringCloud-dept (业务A) 这里是我们的一个业务: 1.创建一个SpringBoot项目 2.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1.⭐指定我们的父类 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2.⭐三件套 --groupIdcom.jsxs/groupIdartifactIddemo02/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo02/namedescriptionDemo project for Spring Boot/description!--4.⭐版本控制 --propertiesjava.version1.8/java.version/properties!--5.⭐依赖 --dependencies!--6.⭐⭐ 引入我们的实体类数据-》API --dependencygroupIdcom.jsxs/groupIdartifactIddemo01/artifactIdversion0.0.1-SNAPSHOT/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdscopetest/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactId/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactId/dependency!-- test--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-test/artifactId/dependency!-- jetty--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jetty/artifactId/dependency!-- 热部署工具--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies /project3.配置我们的配置信息 server:port: 8081 # Mybatis的配置 mybatis:type-aliases-package: com.jsxs.pojo # 起别名mapper-locations: classpath:mybatis/mapper/*.xml # 路径配置# Spring的配置 spring:application:name: SpringCloud-provider-deptdatasource:url: jdbc:mysql://localhost:3306/db01?useUnicodetruecharacterEncodingutf-8username: rootpassword: 121788driver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource4.配置我们的MVC框架 (1).Dao层和XML com/jsxs/dao/DeptDao.java package com.jsxs.dao;import com.jsxs.pojo.Dept; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:29* PackageName:com.jsxs.dao* ClassName: DeptDao* Description: TODO* Version 1.0*/ Mapper Repository public interface DeptDao {public boolean addDept(Dept dept);public Dept queryById(Long id);public ListDept all(); }mybatis/mapper/DeptMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd!-- 1. 我们首先要绑定工作空间-- mapper namespacecom.jsxs.dao.DeptDao!-- 2. 我们编写SQL语句 --insert idaddDept parameterTypecom.jsxs.pojo.Deptinsert into dept(deptno,dname,db_source)values(#{deptno},#{dname},DATABASE())/insertselect idqueryById resultTypecom.jsxs.pojo.Dept parameterTypeLongselect *from dept where deptno#{id}/selectselect idall resultTypecom.jsxs.pojo.Deptselect *from dept/select /mapper (2).server和serverImpl com/jsxs/service/DeptService.java package com.jsxs.service;import com.jsxs.pojo.Dept; import org.springframework.stereotype.Service;import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:56* PackageName:com.jsxs.dao.service* ClassName: DeptService* Description: TODO* Version 1.0*/ public interface DeptService {public boolean addDept(Dept dept);public Dept queryById(Long id);public ListDept all(); } com/jsxs/service/DeptServiceImpl.java package com.jsxs.service;import com.jsxs.dao.DeptDao; import com.jsxs.pojo.Dept; import org.springframework.stereotype.Service;import javax.annotation.Resource; import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:57* PackageName:com.jsxs.dao.service* ClassName: DeptServiceImpl* Description: TODO* Version 1.0*/Service public class DeptServiceImpl implements DeptService {Resourceprivate DeptDao deptDao;Overridepublic boolean addDept(Dept dept) {return deptDao.addDept(dept);}Overridepublic Dept queryById(Long id) {return deptDao.queryById(id);}Overridepublic ListDept all() {return deptDao.all();} }(3).controller com/jsxs/controller/DeptController.java package com.jsxs.controller;import com.jsxs.pojo.Dept; import com.jsxs.service.DeptService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping;import javax.annotation.Resource; import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:59* PackageName:com.jsxs.controller* ClassName: DeptController* Description: TODO* Version 1.0*/RestController public class DeptController {Resourceprivate DeptService deptService;PostMapping(/dept/add)public Boolean addDept(Dept dept) {boolean flag deptService.addDept(dept);return flag;}GetMapping(/dept/queryById/{id})public Dept queryById(PathVariable(id) Long id) {Dept dept deptService.queryById(id);return dept;}GetMapping(/dept/all)public ListDept all() {ListDept all deptService.all();return all;} }5.测试 (1).测试查询 http://localhost:8081/dept/queryById/1 (2).测试添加 http://localhost:8081/dept/add?deptno1dname李明db_sourcedb01 (3).查询全部 (四)、SpringCloud-counsmer (用户) 用户使用业务A 1.创建一个SpringBoot项目 2.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1. ⭐ 引入我们的父项目 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2. ⭐本项目的三件套 --groupIdcom.jsxs/groupIdartifactIddemo03/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo03/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/properties!--3.⭐ 依赖选项 --dependencies!--1. ⭐⭐ 这个引入我们的实体类 --dependencygroupIdcom.jsxs/groupIdartifactIddemo01/artifactIdversion0.0.1-SNAPSHOT/version/dependency!-- 热部署工具--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project3.配置我们的配置信息 server:port: 80com/jsxs/config/ConfigBean.java 提供多种便捷访问远程 访问http服务的方法简单的Rest package com.jsxs.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;/*** Author Jsxs* Date 2023/10/15 21:16* PackageName:com.jsxs.config* ClassName: ConfigBean* Description: TODO* Version 1.0*/ Configuration public class ConfigBean {// 把RestTemplate注入到Spring中去Beanpublic RestTemplate getRestTemplate() {return new RestTemplate();} }4.配置我们的MVC框架 因为我们的用户层只需要控制层即可。不需要业务逻辑层什么的。 (1).controller package com.jsxs.controller;import com.jsxs.pojo.Dept; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate;import javax.annotation.Resource; import java.util.List;/*** Author Jsxs* Date 2023/10/15 21:21* PackageName:com.jsxs.controller* ClassName: DeptConsumerController* Description: TODO* Version 1.0*/ RestController public class DeptConsumerController {Resource// (URI url, 实体 map,ClassT responseType) 地址---- 实体 ----返回类型.classprivate RestTemplate restTemplate; // 提供多种便捷访问远程 访问http服务的方法简单的Rest// 设置服务层的前缀为常量private static final String REST_URL_PREFIX http://localhost:8081;// 根据id进行数据的查找// 用户层的这个访问路径可以随意写没有必要和服务层的路径完全一致RequestMapping(/consumer/dept/get/{id})public Dept get(PathVariable(id) Long deptno) {// 这里返回的是: 服务层的路径return restTemplate.getForObject(REST_URL_PREFIX /dept/queryById/ deptno, Dept.class);}// 添加数据RequestMapping(/consumer/dept/add)public boolean add(Dept dept) {return restTemplate.postForObject(REST_URL_PREFIX /dept/add, dept, Boolean.class);}// 查找全部数据RequestMapping(/consumer/dept/all)public ListDept all() {return restTemplate.getForObject(REST_URL_PREFIX /dept/all, List.class);} }5.测试 启动 (1).查询全部 (2).测试添加 (3).测试查找 以上的微服务框架并未使用我们的注册中心不能说是真正的微服务框架的!!! (五)、⭐配置Eureka注册中心 (服务端)⭐ 1.创建一个SpringBoot项目 2.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1.⭐引入我们的父类 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2.⭐自己的三件套 --groupIdcom.jsxs/groupIdartifactIdeureka-7001/artifactIdversion0.0.1-SNAPSHOT/versionnameeureka-7001/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/properties!--3.⭐导入我们的依赖 --dependencies!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka-server --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka-server/artifactIdversion1.4.6.RELEASE/version/dependency!-- 热部署工具 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-test/artifactIdscopetest/scope/dependency/dependencies/project3.配置我们的配置信息 server:port: 7001eureka:instance:prefer-ip-address: truehostname: localhostclient:register-with-eureka: false # 是否将自己注册进注册中心fetch-registry: false # 是否是注册中心: 是service-url:defaultzone: http://${eureka.instance.hostname}:${server.port}/eureka/4.添加注册中心注解 package com.jsxs;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;SpringBootApplication// ⭐⭐ 开启我们的Eureka服务端 EnableEurekaServerpublic class Eureka7001Application {public static void main(String[] args) {SpringApplication.run(Eureka7001Application.class, args);}}5.测试 (六)、SpringCloud-Provider (服务提供者) 1.创建一个SpringBoot项目 2.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1.引入我们的父类 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2.自己的三件套 --groupIdcom.jsxs/groupIdartifactIdeureka-provider-8001/artifactIdversion0.0.1-SNAPSHOT/versionnameeureka-provider-8001/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/properties!--3.依赖 --dependencies!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka/artifactIdversion1.4.6.RELEASE/version/dependency!-- ⭐一定要添加web的驱动要不然启动不成功!!! --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependencies/project3.配置我们的配置信息 server:port: 8001# Spring的配置 spring:application:name: SpringCloud-provider-dept# Eureka 服务注册到哪里? eureka:client:service-url:defaultZone: http://localhost:7001/eureka/instance:instance-id: jsxs-014.向注册中心注册服务 package com.jsxs;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;SpringBootApplicationEnableEurekaClientpublic class EurekaProvider8001Application {public static void main(String[] args) {SpringApplication.run(EurekaProvider8001Application.class, args);}}5.测试 (七)、SpringCloud-Provider (服务提供者完整版) 1.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1.⭐指定我们的父类 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2.⭐三件套 --groupIdcom.jsxs/groupIdartifactIddemo02/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo02/namedescriptionDemo project for Spring Boot/description!--4.⭐版本控制 --propertiesjava.version1.8/java.version/properties!--5.⭐依赖 --dependencies!--6.⭐⭐ 引入我们的实体类数据-》API --dependencygroupIdcom.jsxs/groupIdartifactIddemo01/artifactIdversion0.0.1-SNAPSHOT/version/dependency!-- 7. ⭐⭐⭐ eureka客户端的和监视器 --!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka/artifactIdversion1.4.6.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdscopetest/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactId/dependencydependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactId/dependency!-- test--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-test/artifactId/dependency!-- jetty--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jetty/artifactId/dependency!-- 热部署工具--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter/artifactIdscopetest/scope/dependency/dependencies /project2.配置我们的配置文件 server:port: 8081 # Mybatis的配置 mybatis:type-aliases-package: com.jsxs.pojo # 起别名mapper-locations: classpath:mybatis/mapper/*.xml # 路径配置# Spring的配置 spring:application:name: SpringCloud-provider-deptdatasource:url: jdbc:mysql://localhost:3306/db01?useUnicodetruecharacterEncodingutf-8username: rootpassword: 121788driver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceeureka:client:service-url: defaultZone: http://localhost:7001/eureka/ #注册到这个注册中心instance:instance-id: jsxs-dept-eureka-8081 # 服务者的id为这个info:app.name: jsxs-springcloudcompany.name: pdd3.配置我们的MVC三层框架 (1).dao层和mapper的配置 com/jsxs/dao/DeptDao.java package com.jsxs.dao;import com.jsxs.pojo.Dept; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:29* PackageName:com.jsxs.dao* ClassName: DeptDao* Description: TODO* Version 1.0*/ Mapper Repository public interface DeptDao {public boolean addDept(Dept dept);public Dept queryById(Long id);public ListDept all(); }mybatis/mapper/DeptMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd!-- 1. 我们首先要绑定工作空间-- mapper namespacecom.jsxs.dao.DeptDao!-- 2. 我们编写SQL语句 --insert idaddDept parameterTypecom.jsxs.pojo.Deptinsert into dept(deptno,dname,db_source)values(#{deptno},#{dname},DATABASE())/insertselect idqueryById resultTypecom.jsxs.pojo.Dept parameterTypeLongselect *from dept where deptno#{id}/selectselect idall resultTypecom.jsxs.pojo.Deptselect *from dept/select /mapper (2).server和serverImpl的配置 com/jsxs/service/DeptService.java package com.jsxs.service;import com.jsxs.pojo.Dept; import org.springframework.stereotype.Service;import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:56* PackageName:com.jsxs.dao.service* ClassName: DeptService* Description: TODO* Version 1.0*/ public interface DeptService {public boolean addDept(Dept dept);public Dept queryById(Long id);public ListDept all(); } com/jsxs/service/DeptServiceImpl.java package com.jsxs.service;import com.jsxs.dao.DeptDao; import com.jsxs.pojo.Dept; import org.springframework.stereotype.Service;import javax.annotation.Resource; import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:57* PackageName:com.jsxs.dao.service* ClassName: DeptServiceImpl* Description: TODO* Version 1.0*/Service public class DeptServiceImpl implements DeptService {Resourceprivate DeptDao deptDao;Overridepublic boolean addDept(Dept dept) {return deptDao.addDept(dept);}Overridepublic Dept queryById(Long id) {return deptDao.queryById(id);}Overridepublic ListDept all() {return deptDao.all();} } (3).controller的配置 com/jsxs/controller/DeptController.java package com.jsxs.controller;import com.jsxs.pojo.Dept; import com.jsxs.service.DeptService; import org.springframework.stereotype.Controller; 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 javax.annotation.Resource; import java.util.List;/*** Author Jsxs* Date 2023/10/15 19:59* PackageName:com.jsxs.controller* ClassName: DeptController* Description: TODO* Version 1.0*/RestController public class DeptController {Resourceprivate DeptService deptService;PostMapping(/dept/add)public Boolean addDept(Dept dept) {boolean flag deptService.addDept(dept);return flag;}GetMapping(/dept/queryById/{id})public Dept queryById(PathVariable(id) Long id) {Dept dept deptService.queryById(id);return dept;}GetMapping(/dept/all)public ListDept all() {ListDept all deptService.all();return all;} } 4.向注册中心注册服务 com/jsxs/Demo02Application.java package com.jsxs;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;SpringBootApplicationEnableEurekaClientpublic class Demo02Application {public static void main(String[] args) {SpringApplication.run(Demo02Application.class, args);}}(八)、SpringCloud-Consumer (消费者-完整版) 1.导入我们的依赖 ?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 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--1. ⭐ 引入我们的父项目 --parentgroupIdcom.jsxs/groupIdartifactIdSpringCloundTest/artifactIdversion0.0.1-SNAPSHOT/version/parent!--2. 本项目的三件套 --groupIdcom.jsxs/groupIdartifactIddemo03/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo03/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.version/properties!--3.⭐ 依赖选项 --dependencies!--1.这个引入我们的实体类 --dependencygroupIdcom.jsxs/groupIdartifactIddemo01/artifactIdversion0.0.1-SNAPSHOT/version/dependency!--2.引入我们的erueka和监视器 --!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-eureka/artifactIdversion1.4.6.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!-- 热部署工具--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-test/artifactIdscopetest/scope/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project2.配置我们的配置文件 server:port: 80eureka:client:service-url:defaultZone: http://localhost:7001/eureka/ #像那一个注册中心注册自己instance:instance-id: jsxs-dept-eureka-80 # 编号 spring:application:name: SpringCloud-counsumer-dept 3.配置我们的MVC框架 com/jsxs/config/ConfigBean.java package com.jsxs.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;/*** Author Jsxs* Date 2023/10/15 21:16* PackageName:com.jsxs.config* ClassName: ConfigBean* Description: TODO* Version 1.0*/ Configuration public class ConfigBean {// 把RestTemplate注入到Spring中去Beanpublic RestTemplate getRestTemplate() {return new RestTemplate();} } com/jsxs/controller/DeptConsumerController.java package com.jsxs.controller;import com.jsxs.pojo.Dept; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate;import javax.annotation.Resource; import java.util.List;/*** Author Jsxs* Date 2023/10/15 21:21* PackageName:com.jsxs.controller* ClassName: DeptConsumerController* Description: TODO* Version 1.0*/ RestController public class DeptConsumerController {Resource// (URI url, 实体 map,ClassT responseType) 地址---- 实体 ----返回类型.classprivate RestTemplate restTemplate; // 提供多种便捷访问远程 访问http服务的方法简单的Rest// 设置服务层的前缀为常量private static final String REST_URL_PREFIX http://localhost:8081;// 根据id进行数据的查找// 用户层的这个访问路径可以随意写没有必要和服务层的路径完全一致RequestMapping(/consumer/dept/get/{id})public Dept get(PathVariable(id) Long deptno) {// 这里返回的是: 服务层的路径return restTemplate.getForObject(REST_URL_PREFIX /dept/queryById/ deptno, Dept.class);}// 添加数据RequestMapping(/consumer/dept/add)public boolean add(Dept dept) {return restTemplate.postForObject(REST_URL_PREFIX /dept/add, dept, Boolean.class);}// 查找全部数据RequestMapping(/consumer/dept/all)public ListDept all() {return restTemplate.getForObject(REST_URL_PREFIX /dept/all, List.class);} } 4.向注册中心注册服务 package com.jsxs;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;SpringBootApplicationEnableEurekaClientpublic class Demo03Application {public static void main(String[] args) {SpringApplication.run(Demo03Application.class, args);}}5.测试 先开启注册中心: eureka-7001;然后开启我们的服务提供者: demo2-8081;最后开启我们的服务消费者: demo3-80
http://www.hkea.cn/news/14471208/

相关文章:

  • 福清营销型网站建设方案德兴高端网站设计
  • 东莞做网站哪里好泰安网络推广 网站建设 网站优化
  • 视频网站的做如何开通一个微商城
  • 深圳龙华做网站广州app开发公司排名
  • 网站建设如何控标比较好的前端网站
  • 网站优化的代码常平镇网站仿做
  • 海南招聘网苏州推广关键词优化
  • 泰安肥城网站建设网站安全建设方案例文
  • 益阳网站建设益阳网络公司名字
  • 国内做轮胎网站延吉网站建设depawo
  • 西城企业网站建设徐州人才网最新徐州招聘信息
  • 中国建设信息港网站wordpress 删除 角色
  • 国内免费商用图片的网站wordpress官方手机客户端
  • 苏州化妆品网站建设wordpress do_action 返回值
  • 昆明有网站的公司网站建设的一般费用
  • 网页设计网站源代码wordpress网站语言
  • 威海精神文明建设办公室网站文字一键生成图片
  • 网页开发和网站开发新产品推广方案策划
  • 网站正在建设中的英文佛山微网站推广
  • 做购物网站 国外服务器微信公众号文章怎么制作
  • 电子商务网站建设基础步骤网站开发周期价格
  • 网站建设带主机wordpress的商城网站制作公司
  • 网站要实现的电商功能维护网站建设
  • 莱芜益寿堂网站金湖建设工程质量监督网站
  • 佛山品牌网站建设报价wordpress插件恢复图片
  • 菏泽手机网站建设百度网盘网站开发文档模板
  • 厦门企业网站seo霸屏网站开发
  • 网站模糊设计深圳网站设计工作室
  • 建设银行观澜支行网站天津建设监理协会网站
  • 怎么做网站步骤免费的广告学