如何制作外贸网站 wordpress,汽车软件开发流程,毕设做系统与网站答辩,sem优化软件选哪家目录
2.1 技术选型
2.2 模块设计
2.3 微服务调用
2.4 创建⽗⼯程
2.5 创建商品微服务
2.6 创建订单微服务 2.1 技术选型 持久层: SpingData Jpa 数据库: MySQL5.7 其他: SpringCloud Alibaba 技术栈 2.2 模块设计 --- shop-parent ⽗⼯程 --- shop-product-api 商品微服…目录
2.1 技术选型
2.2 模块设计
2.3 微服务调用
2.4 创建⽗⼯程
2.5 创建商品微服务
2.6 创建订单微服务 2.1 技术选型 持久层: SpingData Jpa 数据库: MySQL5.7 其他: SpringCloud Alibaba 技术栈 2.2 模块设计 --- shop-parent ⽗⼯程 --- shop-product-api 商品微服务api 【存放商品实体】 --- shop-product-server 商品微服务 【端⼝:8081】 --- shop-order-api 订单微服务api 【存放订单实体】 --- shop-order-server 订单微服务 【端⼝:8091】 2.3 微服务调用
在微服务架构中最常⻅的场景就是微服务之间的相互调⽤。我们以电商系统中常⻅的⽤户下单为 例来演示微服务的调⽤客户向订单微服务发起⼀个下单的请求在进⾏保存订单之前需要调⽤商品微服务查询商品的信息。 我们⼀般把服务的主动调⽤⽅称为服务消费者把服务的被调⽤⽅称为服务提供者。2.4 创建⽗⼯程 创建⼀个maven⼯程然后在pom.xml⽂件中添加下⾯内容?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.xsdmodelVersion4.0.0/modelVersiongroupIdcn.wolfcode/groupIdartifactIdshop-parent/artifactIdversion1.0.0/versionpackagingpom/packaging!--⽗⼯程--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.2.RELEASE/version/parent!--依赖版本的锁定--propertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-cloud.versionHoxton.SR8/spring-cloud.versionspring-cloud-alibaba.version2.2.3.RELEASE/spring-cloudalibaba.version/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement
/project 2.5 创建商品微服务 1.创建shop-product-api项⽬然后在pom.xml⽂件中添加下⾯内容?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.xsdparentartifactIdshop-parent/artifactIdgroupIdcn.wolfcode/groupIdversion1.0.0/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-product-api/artifactId!--依赖--dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependencies
/project
2 创建实体类//商品
Entity(name t_shop_product)
Data
public class Product {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long pid;//主键private String pname;//商品名称private Double pprice;//商品价格private Integer stock;//库存
} 3.创建shop-product-server项⽬然后在pom.xml⽂件中添加下⾯内容 ?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.xsdparentartifactIdshop-parent/artifactIdgroupIdcn.wolfcode/groupIdversion1.0.0/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-product-server/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.56/version/dependencydependencygroupIdcn.wolfcode/groupIdartifactIdshop-product-api/artifactIdversion1.0.0/version/dependency/dependencies
/project 4.编写启动类ProductServer.java
SpringBootApplication
public class ProductServer {public static void main(String[] args) {SpringApplication.run(ProductServer.class,args);}
} 5.编写配置⽂件application.yml server: port: 8081 spring: application: name: product-service datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///shop-product? serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrue username: root password: admin jpa: properties: hibernate: hbm2ddl: auto: update dialect: org.hibernate.dialect.MySQL5InnoDBDialect 6.在数据库中创建shop-product的数据库 7.创建ProductDaopublic interface ProductDao extends JpaRepositoryProduct, Long {
}
8.创建ProductService接⼝和实现类Service
public class ProductServiceImpl implements ProductService {Autowiredprivate ProductDao productDao;Overridepublic Product findByPid(Long pid) {return productDao.findById(pid).get();}
} 9.创建Controller RestController
Slf4j
public class ProductController {Autowiredprivate ProductService productService;//商品信息查询RequestMapping(/product/{pid})public Product findByPid(PathVariable(pid) Long pid) {log.info(接下来要进⾏{}号商品信息的查询, pid);Product product productService.findByPid(pid);log.info(商品信息查询成功,内容为{}, JSON.toJSONString(product));return product;}
} 10.启动⼯程等到数据库表创建完毕之后加⼊测试数据 INSERT INTO t_shop_product VALUE(NULL,⼩⽶,1000,5000); INSERT INTO t_shop_product VALUE(NULL,华为,2000,5000); INSERT INTO t_shop_product VALUE(NULL,苹果,3000,5000); INSERT INTO t_shop_product VALUE(NULL,OPPO,4000,5000); 11.通过浏览器访问服务 2.6 创建订单微服务
1.创建shop-order-api项⽬然后在pom.xml⽂件中添加下⾯内容?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.xsdparentartifactIdshop-parent/artifactIdgroupIdcn.wolfcode/groupIdversion1.0.0/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-order-api/artifactId!--依赖--dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependencies
/project
2 创建实体类//订单
Entity(name t_shop_order)
Data
public class Order {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long oid;//订单id//⽤户private Long uid;//⽤户idprivate String username;//⽤户名//商品private Long pid;//商品idprivate String pname;//商品名称private Double pprice;//商品单价//数量private Integer number;//购买数量
} 3.创建shop-order-server项⽬然后在pom.xml⽂件中添加下⾯内容 ?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.xsdparentartifactIdshop-parent/artifactIdgroupIdcn.wolfcode/groupIdversion1.0.0/version/parentmodelVersion4.0.0/modelVersionartifactIdshop-order-server/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.56/version/dependencydependencygroupIdcn.wolfcode/groupIdartifactIdshop-order-api/artifactIdversion1.0.0/version/dependency/dependencies
/project 4.编写启动类OrderServer.java SpringBootApplication
public class OrderServer {public static void main(String[] args) {SpringApplication.run(OrderServer.class,args);}
} 5.编写配置⽂件application.yml server: port: 8091 spring: application: name:order-service datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///shop-order? serverTimezoneUTCuseUnicodetruecharacterEncodingutf-8useSSLtrue username: root password: admin jpa: properties: hibernate: hbm2ddl: auto: update dialect: org.hibernate.dialect.MySQL5InnoDBDialect 6.在数据库中创建shop-order的数据库
7.创建OrderDaopublic interface OrderDao extends JpaRepositoryOrder, Long {
} 8.创建OrderService接⼝和实现类 Service
Slf4j
public class OrderServiceImpl implements OrderService {Autowiredprivate OrderDao orderDao;Overridepublic Order createOrder(Long productId,Long userId) {log.info(接收到{}号商品的下单请求,接下来调⽤商品微服务查询此商品信息,
productId);//远程调⽤商品微服务,查询商品信息Product product null;log.info(查询到{}号商品的信息,内容是:{}, productId,
JSON.toJSONString(product));//创建订单并保存Order order new Order();order.setUid(userId);order.setUsername(叩丁狼教育);order.setPid(productId);order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderDao.save(order);log.info(创建订单成功,订单信息为{}, JSON.toJSONString(order));return order;}
} 9.创建Controller RestController
Slf4j
public class OrderController {Autowiredprivate OrderService orderService;RequestMapping(/save)public Order order(Long pid,Long uid) {return orderService.createOrder(pid,uid);}
} 10.直接往数据库中添加几条数据启动项目进行调用即可。