BigMarket-基础层持久化数据库

需求

工程对接数据库

图例

结构说明

app-主要用于启动,没有业务逻辑

domain-业务逻辑,如积分的兑换,抽奖,

infrastructure-基础层,技术支持,数据服务数据持久化:MySQL,redis,动态配置,接口调用

通过依赖导致的方式让domain去查询,domain,定义接口,不做具体的实现,infrastructure实现,通过注入的方式去处理

trigger-触发器,接受所有如请求什么的

依赖

注意app作为启动的,要在pom里引用trigger,infrastructure,才能将里面的注解配置加载到spring容器的bean对象,同时要注意启动程序application的位置就哟啊在BigMarket-app的报下才能正确扫描

父类控制版本,只是定义标准。

dependencyManagement用于管理项目的依赖关系。它允许你在项目级别定义依赖的版本和范围,而不是在每个模块中单独定义。这样可以确保所有模块使用相同的依赖版本,避免版本冲突。

mysql的配置要对应 Bigmarket\Bigmarket-app\src\main\resources\application-dev.yml里的driver-class-name的配置

 @Data 是一个来自 Lombok 库的注解,用于自动生成 getter、setter、equals、hashCode 和 toString 方法

四个类对应四张表

测试

  1. @Slf4j: 这是Lombok库提供的一个注解,用于自动生成日志对象。通常与slf4j(Simple Logging Facade for Java)结合使用,简化了日志记录的代码编写。使用这个注解后,你可以直接使用log对象调用各种日志方法,而不需要显式地创建Logger实例。

  2. @RunWith(SpringRunner.class): 这是一个JUnit的注解,用来指定测试类运行器。SpringRunner是Spring Test框架提供的一个运行器,它可以集成Spring的测试功能,例如管理测试上下文和依赖注入等。

  3. @SpringBootTest: 这个注解表明这是一个针对Spring Boot应用的测试类。它用于启动一个Spring Boot应用的测试环境,并加载完整的应用程序上下文(包括所有配置和组件),使得测试可以如实际环境一样运行。

  4. @Resource: 这是Java的注解,用于在类中自动注入依赖项。它是JSR-250(Java标准注解)的一部分,Spring框架支持这个注解作为其核心容器的依赖注入机制之一。在这段代码中,IAwardDao接口的实现将被自动注入到awardDao字段中。

  5. @Test: 这是JUnit框架的注解,用来标识一个测试方法。当JUnit运行时,它会寻找使用了此注解的方法,并执行它们作为单元测试。

  6. @extern.slf4j.Slf4j: 这个注解与@Slf4j相同,只不过这里显式指定了注解的完全限定名(包路径)。

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

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

相关文章

「51媒体」能否提供一份成功邀约媒体的技巧?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 成功邀约媒体的技巧涉及多个方面,包括了解媒体…

hyperworks软件许可优化解决方案

Hyperworks软件介绍 Altair 仿真驱动设计改变了产品开发,使工程师能够减少设计迭代和原型测试。提升科学计算能力扩大了应用分析的机会,使大型设计研究能够在限定的项目时间完成。现在,人工智能在工程领域的应用再次改变了产品开发。基于物理…

从源码到上线:互联网医院系统与医疗陪诊APP的开发全程解析

今天,笔者将详细解析从源码到上线的整个开发过程,帮助读者了解如何构建一个功能完善、用户体验良好的互联网医院系统与医疗陪诊APP。 一、项目启动与需求分析 1、需求分析 对于互联网医院系统,需求通常包括预约挂号、在线问诊、电子处方、…

Figma中文网?比Figma更懂你的神秘网站!

Figma奠定了在线UI设计工具的基本形式,许多国内设计师都在使用Figma。在本文中,我们将解密国内大型设计师使用的Figma灵魂合作伙伴,被称为Figma中文网络的即时设计资源社区。Figma中文网络UI设计工具的魅力是什么?让我们一起看看吧…

Java版Flink使用指南——将消息写入到RabbitMQ的队列中

大纲 新建工程新增依赖 编码自动产生数据写入RabbitMQ 测试工程代码 在 《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中,我们介绍了如何使用Java在Flink中读取RabbitMQ中的数据,并将其写入日志中。本文将通过代码产生一些数据&#xf…

JAVA PaddleOCR 部署

因为需要python环境,不熟悉py的人很痛苦,就和nodejs一样,报什么多,也不知道怎么解决,我也是研究了好几天,才部署成功了基于cpu模式的服务,看官方文档也没看明白什么,大家都在吐槽百度的文档&…

stm32实现软件spi

Driver_SPI.c #include "Driver_SPI.h"void Driver_SPI_Init(void) {/* 1. 开启GPIO时钟 PA和PC*/RCC->APB2ENR | (RCC_APB2ENR_IOPCEN | RCC_APB2ENR_IOPAEN);/* 2. 设置引脚的工作模式 *//* 2.1 cs: 推挽输出 PC13* CNF00 MODE11 */GPIOC->CRH & ~GPIO…

N32G45XVL-STB之lvgl的应用实例

目录 概述 1 硬件介绍 1.1 ST7796-LCD 1.2 MCU IO与LCD PIN对应关系 1.3 MCU IO与Touch PIN对应关系 2 N32G45x移植 LVGL 2.1 移植步骤 2.2 注意点 2.2.1 UI刷新函数 2.2.2 主函数中调用 3 LVGL的应用Demo 3.1 功能描述 3.2 代码实现 3.3 测试 N32G45XVL-STB之lv…

基于RK3588的NPU案例分享!6T是真的强!

RK3588 NPU简介 作为瑞芯微新一代旗舰工业处理器,RK3588 NPU性能可谓十分强大,6TOPS设计能够实现高效的神经网络推理计算。这使得RK3588在图像识别、语音识别、自然语言处理等人工智能领域有着极高的性能表现。 此外,RK3588的NPU还支持多种…

JDK-CompletableFuture

归档 GitHub: JDK-CompletableFuture 使用示例 https://github.com/zengxf/small-frame-demo/blob/master/jdk-demo/simple-demo/src/main/java/test/new_features/jdk1_8/juc/TestCompletableFuture.java基础方法使用测试:testThenApply2() JDK 版本 openjdk …

C# 异步编程Invoke、beginInvoke、endInvoke的用法和作用

C# 异步编程Invoke、beginInvoke、endInvoke的用法和作用 一、Invoke Invoke的本质只是一个方法,方法一定是要通过对象来调用的。 一般来说,Invoke其实用法只有两种情况: Control的Invoke Delegate的Invoke 也就是说,Invoke前…

C++:创建线程

在C中创建线程&#xff0c;最直接的方式是使用C11标准引入的<thread>库。这个库提供了std::thread类&#xff0c;使得线程的创建和管理变得简单直接。 以下是一个简单的示例&#xff0c;展示了如何在C中使用std::thread来创建和启动线程&#xff1a; 示例1&#xff1a;…

Python基础教学之五:异常处理与文件操作——让程序更健壮

Python基础教学之五&#xff1a;异常处理与文件操作——让程序更健壮 一、异常处理概念 1. 理解异常 异常是程序运行中发生的错误或意外情况&#xff0c;比如除以零、访问不存在的列表元素等。如果不进行处理&#xff0c;异常会导致程序终止运行。在编程过程中&#xff0c;我…

【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(二)

上一篇圆形表盘指针式仪表的项目受到很多人的关注&#xff0c;咱们一鼓作气&#xff0c;把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数&#xff0c;并将读数结果进行输出&#xff0c;若需要完整数据集和源代码可以私信。 目录 &…

android 消除内部保存的数据

在Android中&#xff0c;有多种方式可以消除应用内部保存的数据。这些数据可能存储在SharedPreferences、SQLite数据库、文件&#xff08;包括缓存文件&#xff09;或Content Providers中。以下是几种常见的方法来消除这些数据&#xff1a; SharedPreferences&#xff1a; 要删…

Spring AOP的几种实现方式

1.通过注解实现 1.1导入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.1.6.RELEASE</version></dependency> 1.2定义注解 import java.lang.annotation.*;Targ…

初识Laravel(Laravel的项目搭建)

初识Laravel&#xff08;Laravel的项目搭建&#xff09; 一、项目简单搭建&#xff08;laravel&#xff09;1.首先我们确保使用国内的 Composer 加速镜像&#xff08;[加速原理](https://learnku.com/php/wikis/30594)&#xff09;&#xff1a;2.新建一个名为 Laravel 的项目&a…

简过网:“三支一扶”这些政策你知道吗?

你好小编&#xff0c;我最近打算备考三支一扶&#xff0c;能介绍一些关于三支一扶的相关知识吗&#xff1f; 为了让大家更好的了解三支一扶&#xff0c;下面这篇文章&#xff0c;小编以问答的方式给大家介绍&#xff0c;希望能够帮助到你&#xff01; 1、什么是三支一扶&#…

电脑 DNS 缓存是什么?如何清除?

DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;是互联网的重要组成部分&#xff0c;负责将人类易记的域名转换为机器可读的 IP 地址&#xff0c;从而实现网络通信。DNS 缓存是 DNS 系统中的一个关键机制&#xff0c;通过临时存储已解析的域名信息&#xf…

第一讲 基础算法

#快速排序 #include <iostream> using namespace std; const int N 1e610; int n; int q[N]; void quick_sort(int q[],int l,int r){ if(l>r)return ; int x q[l],i l-1,j r1; while(i<j){do i ;while(q[i]<x);do j--;while(q[j] > x);if(i<j)swap(…