01、SpringBoot + MyBaits-Plus 集成微信支付 -->项目搭建

news2024/11/28 16:41:32

目录

  • SpringBoot + MyBaits-Plus 集成微信支付 之 项目搭建
    • 1、创建boot项目
    • 2、引入Swagger
      • 作用:
      • 2-1、引入依赖
      • 2-2、写配置文件进行测试
      • 2-3、访问Swagger页面
      • 2-4、注解优化显示
    • 3、定义统一结果
        • 作用:
        • 3-1、引入lombok依赖
        • 3-2、写个统一结果的类-->R
          • R类的代码:
        • 3-3、swagger的样子
    • 4、数据库连接
      • 4-1、命令行创建数据库
      • 4-2、Idea 连接数据库
      • 4-3、执行sql脚本
    • 5、集成MyBatis-Plus
      • 5-1、引入依赖
      • 5-2、配置文件配置数据库连接
      • 5-3、定义实体类
      • 5-4、定义 MyBatis-Plus 的配置文件
        • 5-4-1、测试:获取所有商品数据
          • controller
        • 5-4-2、target没有编译xml问题
        • 5-4-3 解决方法
          • 步骤1:
          • 测试步骤1:
          • 步骤2:
          • 测试步骤2:
    • 6、搭建前端环境
      • 6-1、安装 Node.js 运行环境
      • 6-2、检查版本号:
      • 6-3、运行前端项目
      • 6-4、前后端跨域
      • 6-5、安装 Visual Studio Code 编译器
        • 6-5-1、修改背景颜色
        • 6-5-2、修改左侧边框颜色
        • 6-5-3、安装插件
    • 7、Vue.js 入门
      • 7-1、安装脚手架
        • 7-1-1、配置淘宝镜像
        • 7-1-2、全局安装脚手架
      • 7-2、创建项目
      • 7-3、启动项目
      • 7-4、访问项目
      • 7-5、创建项目遇到的问题
      • 7-6、安装 Vue 调试工具
        • 7-6-1谷歌
        • 7-6-2微软
      • 7-7、一点前端知识
        • 7-7-1、数据绑定
        • 7-7-2、双向数据绑定
        • 7-7-3、事件处理
    • 未完待续~~~

SpringBoot + MyBaits-Plus 集成微信支付 之 项目搭建

1、创建boot项目

创建SpringBoot项目,写一个测试方法,运行,成功则项目创建完成。
在这里插入图片描述

2、引入Swagger

作用:

自动生成接口文档和测试页面。

2-1、引入依赖

在这里插入图片描述

        <!--swagger  作用:自动生成接口文档和相关测试页面。-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <!--swagger ui  作用:展示具体的html页面、接口文档、测试页面-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>

2-2、写配置文件进行测试

在这里插入图片描述

2-3、访问Swagger页面

在这里插入图片描述
在这里插入图片描述

2-4、注解优化显示

在这里插入图片描述
在这里插入图片描述

3、定义统一结果

作用:

作用:定义统一响应结果,为前端返回标准格式的数据。

3-1、引入lombok依赖

简化实体类的开发
在这里插入图片描述

3-2、写个统一结果的类–>R

在这里插入图片描述

在这里插入图片描述

链式操作–可以一直加data数据

在这里插入图片描述
在这里插入图片描述

R类的代码:
@Data
// 作用:让这个R对象可以进行链式操作,就是R.ok().setData(map) 这种
// 而且原本setData的返回值是void,加了这个注解,返回值就是R对象了
@Accessors(chain = true)
public class R
{
    private Integer code; //响应码
    private String message; // 响应消息
    private Map<String, Object> data = new HashMap<>();

    //成功响应的方法
    public static R ok(){
        R r = new R();
        r.setCode(0);
        r.setMessage("成功");
        return r;
    }

    //响应失败的方法
    public static R error(){
        R r = new R();
        r.setCode(-1);
        r.setMessage("失败");
        return r;
    }

    // 返回的数据
    public R data(String key , Object value){
        this.data.put(key,value);
        return this;
    }
}
3-3、swagger的样子

顺便配置json日期格式
在这里插入图片描述

4、数据库连接

4-1、命令行创建数据库

win+r ,输入cmd 打开小黑窗

mysql -uroot -p

记得后面加分号

mysql> create database payment_demo;

在这里插入图片描述

在 navicat 可以看到已经创建出来的数据库

在这里插入图片描述

4-2、Idea 连接数据库

在这里插入图片描述

时区问题
在这里插入图片描述
直接点这个 set time zone,然后点 apply 应用
在这里插入图片描述

4-3、执行sql脚本

在这里插入图片描述
从navicat可以看出有这些表了
在这里插入图片描述

5、集成MyBatis-Plus

5-1、引入依赖

在这里插入图片描述

        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--持久层   mybatis-plus 是 mybatis 的增强-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1</version>
        </dependency>

5-2、配置文件配置数据库连接

在spring的节点下配置数据库连接

在这里插入图片描述

server:
  port: 8090  # 项目的服务端口

spring:
  application:
    name: payment-demo # 项目的名字
  jackson:
    # 日期格式
    date-format: yyyy-MM-dd HH:mm:ss
    # 时区
    time-zone: GMT+8
  datasource: # mysql数据库连接
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/payment_demo?serverTimezone=GMT%2B8&characterEncoding=utf-8
    username: root
    password: 123456

5-3、定义实体类

拷贝导入这些基本代码 :实体类、service、impl、mapper
这些是学习视频提供的基本代码,太多了就不展示出来了。有用到再截图
在这里插入图片描述

5-4、定义 MyBatis-Plus 的配置文件

创建一个 MyBatis-Plus 的配置文件

在这里插入图片描述

5-4-1、测试:获取所有商品数据
controller

在这里插入图片描述
方法中获取所有商品的list方法,有MyBatis-Plus提供

在这里插入图片描述

成功获取所有商品数据
在这里插入图片描述

5-4-2、target没有编译xml问题

maven 工具默认情况下,针对java目录下的非java文件不会执行编译的操作,所以就丢失了这个xml文件 ,因为目前还没有用到这些xml文件,所以项目可以正常运行,但是后面如果要写更复杂的持久层数据,需要用到这些xml文件,就会报错
在这里插入图片描述

5-4-3 解决方法

解决方法:两个步骤

步骤1:

因为maven工程在默认情况下 src/main/java 目录下的所有资源文件是不发布到 target 目录下的,我们在 pom 文件的 节点下配置一个资源发布过滤器

在<build> </build>范围内

在这里插入图片描述

        <!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
测试步骤1:

先clean ,删掉 target 目录
在这里插入图片描述
然后重新编译,xml 目录就完整出现了
在这里插入图片描述

步骤2:

让运行环境能够找到这个target目录下的xml目录,
顺便添加个日志记录,只要执行到这些xml文件,就会打印出日志

在这里插入图片描述

测试步骤2:

测试这个sql 日志有没有生效:

访问下获取所有商品的接口
在这里插入图片描述
在这里插入图片描述

6、搭建前端环境

6-1、安装 Node.js 运行环境

除了更改安装地址,其他的直接下一步
在这里插入图片描述

6-2、检查版本号:

有版本号,说明安装这个 node 环境成功了
在这里插入图片描述

6-3、运行前端项目

这个项目是项目视频发布者提供的

命令行运行,如图,默认是8080端口

记得用管理员运行小黑窗

在这里插入图片描述
如图:基础页面

课程列表没有数据,因为跨域问题没解决,拿不到
在这里插入图片描述

6-4、前后端跨域

后端这里加个注解,前端的跨域代码还没看是怎么写的。
在这里插入图片描述

在这里插入图片描述

后端控制器类添加这个 @CrossOrigin,表示这个类的所有方法都支持跨域访问。
前端可以直接通过请求 http://localhost:8090/api/product/list 来获取数据,不需要再额外添加跨域相关的代码。
在这里插入图片描述

6-5、安装 Visual Studio Code 编译器

一直下一步安装就可以
在这里插入图片描述
在这里插入图片描述

6-5-1、修改背景颜色

在这里插入图片描述

6-5-2、修改左侧边框颜色

在这里插入图片描述
把代码改成这样,第一次改,拼拼凑凑,不知道对不对,反正左侧边框变白色了。
在这里插入图片描述

{
    
    "workbench.preferredDarkColorTheme": "Visual Studio Light",
      

    "workbench.colorCustomizations": {
        "[Default Light+]": {
            "activityBar.activeBackground": "#ffffff",
            "activityBar.background": "#eeeeee",
            "activityBar.foreground": "#000000"
        }
    },
    "workbench.colorTheme": "Default Light+",
    "editor.codeActionsOnSave": null
}
6-5-3、安装插件

安装这三个插件
在这里插入图片描述

使用这个编译器看前端的代码了

在这里插入图片描述

7、Vue.js 入门

Vue 就是一个渐进式 JavaScript 框架

Vue.js是一个前端框架,帮助我们快速构建前端项目。

使用vue有两种方式,一个是传统的在 html 文件中引入 js 脚本文件的方式,另一个是脚手架的方式。

我们的项目,使用的是脚手架的方式。

7-1、安装脚手架

安装完成才可以创建项目。

在这里插入图片描述

7-1-1、配置淘宝镜像
#经过下面的配置,所有的 npm install 都会经过淘宝的镜像地址下载
npm config set registry https://registry.npm.taobao.org

在这里插入图片描述

7-1-2、全局安装脚手架

-g 的意思就是:全局安装脚手架 ,就是会安装在我们的操作系统中

npm install -g @vue/cli

在这里插入图片描述
安装完成就可以创建vue项目了。

7-2、创建项目

先进入项目目录(Ctrl + ~),然后创建一个项目

输入命令 : vue create vue-demo , 创建一个 vue-demo 的项目

vue 就是我们刚刚安装的脚手架的一个命令

创建vue项目

在这里插入图片描述
创建成功

ctrl+L 相当于 linux 的clear,直接腾出空间

在这里插入图片描述

7-3、启动项目

进入项目文件夹,启动项目

因为项目默认端口号是 8080 , 所以这里可以指定其他的端口号

在这里插入图片描述

7-4、访问项目

打开项目的默认页面 App.vue

这个 Vue 项目默认是没有 Html 文件的, 开发阶段都是 .vue 格式的,但是项目部署到生产服务器上面的话,这些文件就都会被转换为 html文件和 js 文件

在这里插入图片描述

默认的代码如图:

在这里插入图片描述

删掉一些默认的页面组件,填充自己的内容,

删除成最原始的这个样子。
在这里插入图片描述

7-5、创建项目遇到的问题

vue项目创建不成功的解决方法

7-6、安装 Vue 调试工具

7-6-1谷歌

原本 F12是这样的,没有vue调试窗口
在这里插入图片描述

安装
在这里插入图片描述
再按 F12 就能出现这个调试功能了。
在这里插入图片描述

7-6-2微软

微软浏览器可以直接搜索,安装完,退出浏览器,重新打开就出现了
在这里插入图片描述

7-7、一点前端知识

7-7-1、数据绑定

插值表达式 – 用 双大括号来表示
在这里插入图片描述

7-7-2、双向数据绑定

数据会绑定到组件,组件的改变也会影响数据定义
在这里插入图片描述

7-7-3、事件处理

定义事件,调用事件
在这里插入图片描述

未完待续~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166420.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows、程序员必装的工具

一、Typora 啥也不说了直接上图 Markdown语法 Typora免费版 提取码&#xff1a;av01 二维码&#xff1a; 1&#xff09;页面展示 2&#xff09;主题 3&#xff09;偏好设置 4&#xff09;Markdown语法设置偏好 5&#xff09;编辑器 6&#xff09;系统 二、Snipaste Snipaste…

Java反射详解:入门+使用+原理+应用场景

反射非常强大和有用&#xff0c;现在市面上绝大部分框架(spring、mybatis、rocketmq等等)中都有反射的影子&#xff0c;反射机制在框架设计中占有举足轻重的作用。 所以&#xff0c;在你Java进阶的道路上&#xff0c;你需要掌握好反射。 怎么才能学好反射&#xff0c;我们需要…

STM32CubeIDE安装中文语言包

软件包地址&#xff1a;https://archive.eclipse.org/technology/babel/update-site/R0.16.1/2018-12/ 打开IDE&#xff1a;Help--->Install New Software--->Add Locations&#xff1a;输入软件包地址 等待搜索结束&#xff1a;选择中文语言包&#xff0c;单击next进行安…

QQ邮箱发送验证码源码/API+HTML源码/支持API接口、自定义地址和内容/简单易用

源码简介&#xff1a; 一款支持API接口、自定义QQ邮箱地址、自定义邮箱标题和内容的源码。 近来我正在开发一款新的软件&#xff0c;但在注册环节中遇到了一个问题&#xff1a;需要使用QQ邮箱验证码。因此&#xff0c;我积极寻找相关的API接口或开发文档&#xff0c;但遗憾的…

学习小结,学而时习之,坚持学习之,温顾学习之

学习python一个多月了&#xff0c;之前也有接触过&#xff0c;还花了不少钱报班&#xff0c;看了看入门的头两节课&#xff0c;就止步了。每一种编程语言的入门感觉都差不多&#xff0c;学到现在&#xff0c;我对python的基本数据类型还是没掌握好啊&#xff0c;每次列表字典怎…

面向萌新的数学建模入门指南

时间飞逝&#xff0c;我的大一建模生涯也告一段落。感谢建模路上帮助过我的学长和学姐们&#xff0c;滴水之恩当涌泉相报&#xff0c;写下这篇感想&#xff0c;希望可以给学弟学妹们一丝启发&#xff0c;也就完成我的想法了。拙劣的文笔&#xff0c;也不知道写些啥&#xff0c;…

二叉树采用二叉链表存储:编写计算整个二叉树高度的算法

二叉树采用二叉链表存储&#xff1a;编写计算整个二叉树高度的算法 (二叉树的高度也叫二叉树的深度) 代码思路&#xff1a; 首先你要明白什么是树的高度&#xff0c;简言之就是树有多少层&#xff0c;如下图&#xff1a; 下面这棵树的高度就是4 首先我们观察根节点&#xff0…

软件测试:压力测试详解

压力测试 压力测试是一种软件测试&#xff0c;用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力&#xff0c;并确保软件在危急情况下不会崩溃。它甚至可以测试超出正常工作点的测试&#xff0c;并评估软件在极端…

使用免费 FlaskAPI 部署 YOLOv8

目标检测和实例分割是计算机视觉中关键的任务&#xff0c;使计算机能够在图像和视频中识别和定位物体。YOLOv8是一种先进的、实时的目标检测系统&#xff0c;因其速度和准确性而备受欢迎。 Flask是一个轻量级的Python Web框架&#xff0c;简化了Web应用程序的开发。通过结合Fla…

手把手教你:UE 4.27插件项目的自动化打包(Windows、Android、iOS统统搞定)

Windows平台 下载/安装Epic Games launcher&#xff1b;然后安装 Unreal Engine v4.27.2 注意&#xff1a;launcher和具体版本的engine务必安装在相同的父目录下&#xff01;如下&#xff1a; 2. 安装Visual Studio 2019或2022。安装完成后执行菜单&#xff1a;帮助 | 检查更…

3D医学三维技术影像PACS系统源码

一、系统概述 3D医学影像PACS系统&#xff0c;它集影像存储服务器、影像诊断工作站及RIS报告系统于一身,主要有图像处理模块、影像数据管理模块、RIS报告模块、光盘存档模块、DICOM通讯模块、胶片打印输出等模块组成&#xff0c; 具有完善的影像数据库管理功能&#xff0c;强大…

分享77个工作总结PPT,总有一款适合您

分享77个工作总结PPT&#xff0c;总有一款适合您 PPT下载链接&#xff1a;https://pan.baidu.com/s/1qdoA_Ylbxkmp2Qkh9VDw8A?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 水彩插画风幼儿说课PPT模板 舞龙舞狮文化传承通…

FPGA高端项目:图像采集+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持

目录 1、前言免责声明本项目特点 2、相关方案推荐我这里已有的 GT 高速接口解决方案我这里已有的以太网方案 3、设计思路框架设计框图视频源选择OV5640摄像头配置及采集动态彩条视频数据组包GTP 全网最细解读GTP 基本结构GTP 发送和接收处理流程GTP 的参考时钟GTP 发送接口GTP …

官媒代运营:质疑代运营,理解代运营,成为代运营,超越代运营

官媒代运营 随着互联网的发展&#xff0c;品牌传播变得越来越重要。而代运营作为一种专业的、高效的品牌传播方式&#xff0c;逐渐受到企业的青睐。不过&#xff0c;很多人对代运营持质疑态度&#xff0c;认为它只是简单的外包服务。但实际上&#xff0c;代运营远不止于此&…

CV计算机视觉每日开源代码Paper with code速览-2023.11.1

精华置顶 墙裂推荐&#xff01;小白如何1个月系统学习CV核心知识&#xff1a;链接 点击CV计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构】Battle of the Backbones: A Large-Scal…

JVM调优工具详解及调优实战(1)

文章目录 1. 前提准备2. Jmap3. Jstack4. Jinfo5. Jstat&#xff08;重点&#xff09;6. 案例分析 1. 前提准备 任意启动一个web项目&#xff0c;这里我已经启动好了 2. Jmap map命令用于生成堆转储快照&#xff0c;有时候也成为heapdump或者dump文件。Jmap不仅仅可以获取d…

易语言软件定制开发爬虫模拟协议填写自动化办公软件开发多人团队

在当今快速发展的信息化时代&#xff0c;企业对于高效、自动化的软件需求日益增长。而易语言软件定制开发爬虫模拟协议填写自动化办公软件开发多人团队&#xff0c;正是为了满足这一需求而诞生的。 一、团队背景 技术顾问、维&#xff1a;Daxiami6789 易语言软件定制开发爬虫模…

京东数据平台:2023年Q3季度黄金市场数据分析

继9月国内黄金市场持续上涨后&#xff0c;进入10月中下旬后&#xff0c;黄金行情再度反转&#xff0c;多家品牌金饰价格再次突破600元/克&#xff0c;达到611元/克。 今年以来&#xff0c;黄金行情不断走俏&#xff0c;销售市场也有明显增长。根据鲸参谋平台的数据显示&#xf…

geoserver在wms服务查询时中文乱码问题

一、geoserver上的问题 在服务查询时遇到了编码问题&#xff0c;首先就是确认数据存储位置的数据是否采用了GBK编码&#xff0c;排除geoserver的问题。 二、数据上的问题 一般高版本的arcgis或者arcgispro导出来shp的dbf文件在excel里打开中文都是乱码&#xff0c;而这个乱…

瑞明达:聚“追梦”之力,共圆“经济梦”

矢志不渝&#xff0c;笃行不怠&#xff0c;争当“一心一意同国行”的无悔“追梦人”。过往几年&#xff0c;国际形势风高浪急&#xff0c;国内环境复杂多变&#xff0c;在后疫情时代、经济恢复压力等多种超预期的因素冲击下&#xff0c;瑞明达团队全面贯彻落实国家发展政策&…