购物车功能java代码实现

127 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情

每日英语:

I have crossed oceans of time to find you.

翻译:我跨越时间的海洋寻找你。 ——《惊情四百年》

购物车工程搭建

api

创建mall-cart-api,坐标如下:

<groupId>com.xz.mall</groupId>
<version>0.0.1-SNAPSHOT</version>
<artifactId>mall-cart-api</artifactId>

创建com.xz.mall.cart.model.Cart代码如下:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Cart {
​
    @Id
    private String _id;
    private String userName;
    private String name;
    private Integer price;
    private String image;
    private String skuId;
    private Integer num;
}

service

创建mall-cart-service,坐标如下:

<groupId>com.xz.mall</groupId>
<version>0.0.1-SNAPSHOT</version>
<artifactId>mall-cart-service</artifactId>

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>mall-service</artifactId>
    <groupId>com.xz.mall</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
    <modelVersion>4.0.0</modelVersion>
    <description>购物车</description>
    <artifactId>mall-cart-service</artifactId>
​
    <dependencies>
        <!--cart-->
        <dependency>
            <groupId>com.xz.mall</groupId>
            <artifactId>mall-cart-api</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
​
        <!--goodsapi-->
        <dependency>
            <groupId>com.xz.mall</groupId>
            <artifactId>goods-api</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
​
        <!--MongoDB-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
            <version>2.2.10.RELEASE</version>
        </dependency>
    </dependencies>
</project>

bootstrap.yml:

server:
  port: 8087
spring:
  application:
    name: mall-cart
  cloud:
    nacos:
      config:
        file-extension: yaml
        server-addr: 192.168.xxx.xxx:8848
      discovery:
        #Nacos的注册地址
        server-addr: 192.168.xxx.xxx:8848
  data:
    #MongoDB配置
    #sh - 用户名、123456- 密码、192.168.xxx.xxx - 数据库地址、27017- 端口号、shop - 库名
    mongodb:
      uri: mongodb://sh:123456@192.168.xxx.xxx:27017/shop
  main:
    allow-bean-definition-overriding: true
#日志配置
logging:
  pattern:
    console: "%msg%n"

uri属性如下:

ComponentDescription
mongodb://一个必需的前缀,用于标识这是一个字符串 标准连接格式。
username:password@(可选) 验证凭据。 如果指定,客户端将在连接后尝试使用这些凭据登录到特定数据库。如果用户名或密码包含at符号@, 分号 :, 斜杆 /, 或者百分号% , 请记得使用百分号编码消除歧义 .
host[:port]运行mongod实例(或分片群集的mongos实例)的主机(和可选端口号)。 你可以指定主机名,IP地址或 UNIX domain socket。 根据你的部署拓扑指定任意数量的主机:对于独立的,请指定独立mongod实例的主机名。对于副本集,请指定副本集配置中列出的mongod实例的主机名。对于分片群集,请指定mongos实例的主机名。如果未指定端口号,则使用默认端口27017。
/database(可选) 如果连接字符串包含username:password @形式的身份验证凭据,则要验证的数据库的名称。 如果未指定/database且连接字符串包含凭据,则驱动程序将对admin数据库进行身份验证。
?<options>(可选) 一个查询字符串,它将特定于连接的选项指定为<\name> = <\value>对。 有关这些选项的完整说明,请参见连接字符串选项。

创建启动类:com.xz.mall.MallCartApplication

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class MallCartApplication {
​
    public static void main(String[] args) {
        SpringApplication.run(MallCartApplication.class,args);
    }
}

总结

本篇主要介绍了一下购物车功能模块的基本搭建,介绍了一下yml配置中MongoDB的uri属性配置的含义。下篇主要写一下购物车功能的增删改查。