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

ABP-Book Store Application中文讲解 - 前期准备 - Part 3:Acme.BookStore项目模块详解

ABP-Book Store Application中文讲解-汇总-CSDN博客

本文通过对Acme.BookStore项目各模块的详解,让大家知道每个project用来干什么的,他们之间的引用关系是什么,同时知道怎样添加新的功能模块。

Acme.Bookstore 是主要 ABP Studio 模块的主要解决方案。它包含两个文件夹:src 和 test,如上图所示。src 文件夹包含该解决方案的源代码,这些源代码按照领域驱动设计(DDD)原则进行结构化,而 test 文件夹则存放单元测试和集成测试内容。

以下项目需要基于Volo.Abp.Cli 8.0.1版本

目录

1. 项目目录结构 

2. 更改数据库地址

3. Visual Studio 2022设置多个启动项

4. Visual Studio code打开angular目录

4.1 安装packages

 4.2 启动

4.3 VS Code shortcuts

5. 继续学习


1. 项目目录结构 

2. 更改数据库地址

数据库连接字符串存储在appsettings.json中,需要更改以下项目中的数据库地址:

  • Acme.BookStore.AuthServer
  • Acme.BookStore.DbMigrator
  • Acme.BookStore.HttpApi.Host

把sa和123456改成你自己的账号和密码

Application Name=BookStore;Data Source=localhost;Initial Catalog=BookStore;User ID=sa;Password=123456;Integrated Security=False; Encrypt=True;TrustServerCertificate=True;  MultipleActiveResultSets=True; 

如果不更该数据库连接字符串,默认数据库可以通过Visual Studio --> View -->SQL Server Object Explore查看。

3. Visual Studio 2022设置多个启动项

双击Acme.BookStore\aspnet-core\Acme.BookStore.sln打开Acme.BookStore项目,点击F6编辑整个项目。

然后按照如下步骤设置启动项:

1. 点击Start按钮右侧的下拉框,选择Configure Startup Projects...

2. 设置以下项目作为默认启动项

  • Acme.BookStore.AuthServer--OpenDict Connection server
  • Acme.BookStore.DbMigrator--用于自动创建DB和初始化数据即Seeds
  • Acme.BookStore.HttpApi.Host--API主启动项

设置成功后,点击F5启动项目。

4. Visual Studio code打开angular目录

4.1 安装packages

如果运行abp new 命令的时候没有附加--dont-run-install-libs,此时打开angular目录后可以发现node_modules文件夹已经创建,并且里面的出现了相关的packages。如果未安装,可通过npm install进行安装。

npm install

可以查看README.md获取更多信息,如如何发布或者启动angular项目,怎么利用ng(angular-cli)快速创建components,servie,directive/class/module等等。

主要不用用大写,需要全部用小写。比如项创建一个BookList页面,此时可以更改以下命令中的component-name 为book-list

ng generate component component-name

 4.2 启动

可以通过以下命令启动angular项目. 默认端口号4200。 ctrl+`可以快速打开Terminal窗口。

npm start

如果你想更改默认端口号,可以在package.json 里面的scripts section部分更改,如下:

"start": "ng serve --port 4300 --open",

如果更改了端口号,需要在Acme.BookStore.HttpApi.Host\appsettings.json和Acme.BookStore.AuthServer\appsettings.json中做同样的更改,否则会出现跨越或者验证失败的问题。

4.3 VS Code shortcuts

VS Code --> Help -->Keyboard shortcut Preference打开如下连接,里面可以获取所有的快捷键。

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

5. 继续学习

ABP-Book Store Application中文讲解 - 前期准备 - Part 3:Acme.BookStore项目模块详解之二

相关文章:

ABP-Book Store Application中文讲解 - 前期准备 - Part 3:Acme.BookStore项目模块详解

ABP-Book Store Application中文讲解-汇总-CSDN博客 本文通过对Acme.BookStore项目各模块的详解,让大家知道每个project用来干什么的,他们之间的引用关系是什么,同时知道怎样添加新的功能模块。 Acme.Bookstore 是主要 ABP Studio 模块的主…...

智慧城市综合运营管理系统Axure原型

这款Axure原型的设计理念紧紧围绕城市管理者的需求展开。它旨在打破传统城市管理中信息孤岛的局面,通过统一标准接入各类业务系统,实现城市运营管理信息资源的全面整合与共享。以城市管理者为中心,为其提供一个直观、便捷、高效的协同服务平台…...

Java中进阶并发编程

第一章、并发编程的挑战 并发和并行:指多线程或多进程 线程的本质:操作系统能够进行运算调度的最小单位,是进程(Process)中的实际工作单元 进程的本质:操作系统进行资源分配和调度的基本单位&#xff0c…...

cursor 出现问题 为客户解决问题

文档出自:https://www.kdocs.cn/l/cp5GpLHAWc0p...

【氮化镓】GaN在不同电子能量损失的SHI辐射下的损伤

该文的主要发现和结论如下: GaN的再结晶特性 :GaN在离子撞击区域具有较高的再结晶倾向,这导致其形成永久损伤的阈值较高。在所有研究的电子能量损失 regime 下,GaN都表现出这种倾向,但在电子能量损失增加时,其效率会降低,尤其是在材料发生解离并形成N₂气泡时。 能量损失…...

用drawdb.app可视化创建mysql关系表

平时自己建表,没有可视化图形参考 为了便于理解,用drwadb画mysql关系表 drawDB | Online database diagram editor and SQL generator...

模型上下文协议(MCP):AI的“万能插座”

~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” 一、MCP解决什么问题? \quad 在过去的几年中,AI大模型快速发展,从横空出世的GPT到“AI界拼多多”DeepSeek&am…...

初识 Pandas:Python 数据分析的利器

在数据分析、数据清洗和可视化等领域,Python 无疑是最受欢迎的语言之一,而在 Python 的数据处理生态中,Pandas 是最核心、最基础的库之一。如果你接触数据分析、机器学习、金融建模,或者只是想处理一些 Excel 表格,那么…...

Python教程(四)参数提取pymysql

Python(四) 本系列其他教程: Python教程(二):函数、异常、模块&包、文件读取、常用模块 Python教程(三):类&对象、闭包、装饰器、类型注解 Python教程(三):类&对象、闭包、装饰器、类型注解、…...

Halcon案例(一):C#联合Halcon识别路由器上的散热孔

本案例分3部分 识别效果,分别显示识别前后识别后;代码展示,分别是Halcon源码和Halcon转为C#的代码代码解释(解释在源码中) 原图如下: 处理后的图像: Halcon源码: *读取一张图像 read_image (Image, progres)*获取图像大小 get_image_size (Image, Width, Height)*关…...

SC5061串口设备联网服务器,4路RS-232,4路422/485串行接口

串口设备联网服务器,简称串口服务器。能够将RS-232/485/422串口设备联入TCP/IP网络,实现RS-232/485/422串口与TCP/IP网络接口的数据双向传输,使得串口设备能够具备联网功能,根据串口数量的不同,可以分为单串口、两串口…...

谈AI/OT 的融合

过去的十几年间,工业界讨论最多的话题之一就是IT/OT 融合,现在,我们不仅要实现IT/OT 的融合,更要面向AI/OT 的融合。看起来不太靠谱,却留给我们无限的想象空间。OT 领域的专家们不要再当“九斤老太”,指责这…...

RAGFlow 初步尝试 (01)

1. 起因, 目的: 简单尝试一下。 2. 先看效果 3. 过程: 目的: 研究 RAG 的实现过程。 实用目的: 对于一本电子书, pdf,我在读书的时候,可以问一写些问题。对一个 github 项目,可以迅速理解文件的关系。…...

Linux 服务器用 SSH 拉取多个 Git 工程

在一台 Linux 服务器上用 SSH 拉取两个 Git 工程,而这两个工程对应的是 不同的 Git 账号(SSH Key),做法: 使用 SSH Config 配置多个 Git 账号 场景假设: 工程 A 的仓库地址:gitgithub.com:com…...

测试文章标题01

模型上下文协议(Model Context Protocol, MCP)深度解析 一、MCP的核心概念 模型上下文协议(Model Context Protocol, MCP)是一种用于规范机器学习模型与外部环境交互的标准化框架。其核心目标是通过定义统一的接口和数据格式&am…...

如何禁止chrome自动更新

百度了一下 下面这个方法实测有效 目录 1、WINR 输入 services.msc 2、在Services弹窗中找到下面两个service并disable 3、验证是否禁止更新成功: 1、WINR 输入 services.msc 2、在Services弹窗中找到下面两个service并disable GoogleUpdater InternalService…...

【C++重载操作符与转换】构造函数和复制控制

目录 一、构造函数:对象的初始化引擎 1.1 构造函数的定义与分类 1.2 初始化列表:高效且安全的初始化方式 1.3 显式构造函数与类型安全 二、复制控制:管理对象的生命周期 2.1 复制构造函数:深拷贝的核心 2.2 赋值运算符重载…...

CATIA高效工作指南——常规配置篇(二)

一、结构树(Specification Tree)操作技巧精讲 结构树是CATIA设计中记录模型历史与逻辑关系的核心模块,其高效管理直接影响设计效率。本节从基础操作到高级技巧进行系统梳理。 1.1 结构树激活与移动 ​​激活方式​​: ​​白线…...

神经生物学+图论双buff,揭示大脑语言系统的拓扑结构

摘要 近年来,神经影像数据分析的进展促进了大脑网络整合中适应性变化的表征。本研究提出了一种融合知识驱动与数据驱动的独特方法,为更精确地理解这些变化提供了新思路。通过运用图网络分析,并结合特定领域脑网络系统的现有神经生物学知识&am…...

Kotlin 懒初始化值

Kotlin 懒初始化值:深入理解 lateinit 与 by lazy 在 Kotlin 开发中,懒初始化(Lazy Initialization) 是一种常见的优化技巧,它允许我们将对象的初始化延迟到真正需要使用时再执行。Kotlin 提供了两种核心机制来实现懒…...

高速系统设计实例设计分析

在上几章的内容中,我们从纯粹高速信号的理论分析,到 Cadence 工具的具体使用都做了详细的讲解和介绍。相信读者通过前面章节的学习,已经对高速系统的设计理念及 Cadence 相应的设计流程和工具有了一个基本的认识。但是,对于高速电…...

数据结构与算法学习-JavaScript的Array.prototype.reduce()方法

一、语法 array.reduce(callbackfn, initialValue);callbackfn (accumulator, currentValue, currentIndex, array) > {// 回调逻辑 } callbackFn 为数组中每个元素执行的函数。 其返回值将作为下一次调用 callbackFn 时的 accumulator 参数。对于最后一次调用&#xff0c…...

[Java][Leetcode simple] 189. 轮转数组

借助辅助数组 借助一个辅助数组tmp保存后面k个元素然后逆序循环,使用数组前面n-k个元素覆盖最后到后面最后把前k个元素从tmp中拿回来public void rotate(int[] nums, int k) {int len nums.length;k k % len;int[] Ra new int[len];int cnt 0;for (int i len-k…...

Hadoop 的代理用户(Proxy User)​ 功能解释

在$HADOOP_HOME/etc/hadoop下的core-site.xml 配置里&#xff0c;可以新增hadoop集群的代理用户。 在集成配置中&#xff0c;会经常用到。它属于 Hadoop 安全机制的一部分。 以下是对该配置效果的详细说明及示例&#xff1a; 配置效果 <!-- 允许用户 hadoop 从主机 hadoop…...

day06_java中的流程控制语句

流程控制语句 Java提供了一些流程控制语句&#xff0c;来控制程序的执行流程 顺序结构 任何编程语言中最常见的程序结构就是顺序结构顺序结构就是程序从上到下逐行地执行&#xff0c;中间没有任何判断和跳转如果main方法的多行代码之间没有任何流程控制&#xff0c;则程序总是…...

机器学习实战:归一化与标准化的选择指南

在机器学习实战中——是否需要归一化&#xff08;Normalization&#xff09;或标准化&#xff08;Standardization&#xff09;&#xff0c;取决于所使用的模型类型。 ✅ LightGBM / XGBoost 是否需要归一化或标准化&#xff1f; 不需要。 &#x1f527; 原因&#xff1a; L…...

【内蒙古】《内蒙古自治区本级政务信息化建设项目预算支出标准(试行)》(内财预〔2024〕1449号)-费用标准解读系列

内蒙古自治区政务服务与数据管理局在2024年11月29日发布了《内蒙古自治区本级政务信息化建设项目预算支出标准(试行)》&#xff08;内财预〔2024〕1449号&#xff09;。该文件适用于自治区本级各部门、单位非涉密政务信息化建设项目(以下简称建设项目)经费的预算编制、审核。下…...

文本数据可视化

目录 【实验目的】 【实验原理】 【实验环境】 【实验步骤】 原理 操作步骤 图像展示 【实验目的】 了解什么是文本可视化 掌握文本可视化的相关技术 文本信息的提取和可视表达 本次实验是将某一文本进行可视化生成词云图片 尝试构造文本指纹 【实验原理】…...

qt命名空间演示

#ifndef CIR_H #define CIR_Hnamespace cir {double PI3.141592653;//获取圆行周长double getLenthOfCircle(double radius){return 2*PI*radius;}//获取圆形面积double getAreaOfCircle(double radius){return PI*radius*radius;}} #endif // CIR_H#include <iostream> …...

Android学习总结之布局篇

一、大厂面试高频布局真题解析 1. ConstraintLayout vs RelativeLayout 深度对比 真题问法&#xff1a; "为什么说 ConstraintLayout 是 RelativeLayout 的替代方案&#xff1f;两者在布局原理、性能、复杂场景处理上有什么核心区别&#xff1f;" 核心考点解析&am…...

星际篮球争霸赛/MVP争夺战 - 华为OD机试真题(A卷、Java题解)

华为OD机试题库《C》限时优惠 9.9 华为OD机试题库《Python》限时优惠 9.9 华为OD机试题库《JavaScript》限时优惠 9.9 针对刷题难&#xff0c;效率慢&#xff0c;我们提供一对一算法辅导&#xff0c; 针对个人情况定制化的提高计划&#xff08;全称1V1效率更高&#xff09;。 看…...

RNN(循环神经网络)原理与结构

1 RNN&#xff08;循环神经网络&#xff09;原理与结构 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一类专门用于处理序列数据&#xff08;如时间序列、文本、语音等&#xff09;的深度学习模型。与传统的前馈神经网络不同&#xff0c;RNN在每个时间…...

Claude深度解析:从技术原理到实战应用的全栈指南

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言:AI编程新纪元中的Claude 在生成式AI技术爆发的2024年,Anthropic的Claude系列模型以卓越的长文本处理能力和精确的代码生成质量,正在重塑程序员的开发范式。当开发者…...

9.渐入佳境 -- 套接字的多种可选项

前言 套接字具有多种特性&#xff0c;这些特性可通过可选项更改。本章将介绍更改套接字可选项的方法&#xff0c;并以此为基础进一步观察套接字内部。 一、套接字可选项和I/O缓冲大小 我们进行套接字编程时往往只关注数据通信&#xff0c;而忽略了套接字具有的不同特性。但是…...

AI日报 - 2024年05月13日

&#x1f31f; 今日概览 (60秒速览) ▎&#x1f680; 技术突破 | Flow-GRPO将在线RL引入流匹配模型&#xff0c;提升性能并降低训练成本&#xff1b;「层内循环」(ILR)技术无需增加参数即可提升Transformer性能。▎&#x1f4ac; 行业热议 | ICML强制作者参会政策引发广泛争议…...

开发工具分享: Web前端编码常用的在线编译器

1.OneCompiler 工具网址&#xff1a;https://onecompiler.com/ OneCompiler支持60多种编程语言&#xff0c;在全球有超过1280万用户&#xff0c;让开发者可以轻易实现代码的编写、运行和共享。 OneCompiler的线上调试功能完全免费&#xff0c;对编程语言的覆盖也很全&#x…...

Android学习总结之线程池篇

一、线程池参数调优实战真题 真题 1&#xff1a;直播 APP 弹幕加载线程池设计 题目描述&#xff1a;直播 APP 需要实时加载弹幕数据&#xff08;网络请求&#xff0c;IO 密集型&#xff09;&#xff0c;同时渲染弹幕视图&#xff08;UI 操作需切主线程&#xff09;&#xff0…...

03.Golang 切片(slice)源码分析(二、append实现)

Golang 切片&#xff08;slice&#xff09;源码分析&#xff08;二、append实现&#xff09; 前言&#xff1a; Golang 切片&#xff08;slice&#xff09;源码分析&#xff08;一、定义与基础操作实现&#xff09; 在前面的文章我们介绍了&#xff0c;切片的结构体与创建\扩容…...

Python实例题:pygame开发打飞机游戏

目录 Python实例题 题目 pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本 代码解释 初始化部分&#xff1a; 游戏主循环&#xff1a; 退出部分&#xff1a; 运行思路 注意事项 Python实例题 题目 pygame开发打飞机游戏 pygame-aircraft-game使用 Pygame 开发…...

MySQL创建了一个索引表,如何来验证这个索引表是否使用了呢?

MySQL创建了一个索引表,如何来验证这个索引表是否使用了呢&#xff1f; 1. 使用 EXPLAIN 分析查询执行计划 在 SQL 查询前添加 EXPLAIN 关键字&#xff0c;查看 MySQL 优化器是否选择了你的索引。 示例&#xff1a; EXPLAIN SELECT * FROM db关键输出字段&#xff1a; typ…...

Go语言多线程爬虫与代理IP反爬

有个朋友想用Go语言编写一个多线程爬虫&#xff0c;并且使用代理IP来应对反爬措施。多线程在Go中通常是通过goroutine实现的&#xff0c;所以应该使用goroutine来并发处理多个网页的抓取。然后&#xff0c;代理IP的话&#xff0c;可能需要一个代理池&#xff0c;从中随机选择代…...

Linux文件编程:操作流程与内核机制

在 Linux 操作系统中&#xff0c;一切皆文件&#xff0c;这意味着从硬盘上的数据文件、设备驱动、到管道、套接字等都以文件的形式存在。Linux 的文件系统将这些不同类型的文件统一抽象成文件对象&#xff0c;允许程序通过文件描述符来访问它们。 一、核心概念解析 文件描述符…...

用短说社区搭建的沉浸式生活方式分享平台

你是否想打造一个融合小红书式种草基因与论坛深度互动的全新社区&#xff1f;本文依托短说社区论坛系统的社区功能规划&#xff0c;一起来规划&#xff0c;如何搭建一个集内容分享、社交互动、消费决策于一体的沉浸式生活社区。 短说社区的界面样式支持普通资讯列表或瀑布流列…...

【ASR学习笔记】:语音识别领域基本术语

一、基础术语 ASR (Automatic Speech Recognition) 自动语音识别&#xff0c;把语音信号转换成文本的技术。 VAD (Voice Activity Detection) 语音活动检测&#xff0c;判断一段音频里哪里是说话&#xff0c;哪里是静音或噪音。 Acoustic Model&#xff08;声学模型&#xff0…...

2025年best好用的3dsmax插件和脚本

copitor 可以从一个3dsmax场景里将物体直接复制到另一个场景中 Move to surface 这个插件可以将一些物体放到一个平面上 instancer 实体器&#xff0c;举例&#xff1a;场景中有若干独立的光源&#xff0c;不是实体对象&#xff0c;我们可以使用instancer将他变成实体。 paste …...

电厂除灰系统优化:时序数据库如何降低粉尘排放

在环保要求日益严苛的当下&#xff0c;电厂作为能源生产的重要主体&#xff0c;其除灰系统的运行效率与粉尘排放控制效果紧密相关。传统除灰系统在数据处理和排放控制方面存在一定局限性&#xff0c;而时序数据库凭借对时间序列数据的高效存储、处理和分析能力&#xff0c;为电…...

upload-labs通关笔记-第2关 文件上传之MIME绕过

目录 一、MIME字段 1. MIME 类型的作用 2. 常见的 MIME 类型 二、实验准备 1.构造脚本 2.打开靶场 3.源码分析 三、修改MIME字段渗透法 1.选择shell脚本 2.bp开启拦截 3.上传脚本bp拦包 4.bp改包 5.获取脚本地址 6.获取木马URL 7.hackbar渗透 8.蚁剑渗透 本文通…...

未来技术展望:光子量子计算集成与连续变量可视化

光子量子计算作为量子计算的重要分支,凭借其独特的光子传输优势和连续变量编码方式,正在量子计算领域掀起新的技术革命。以Xanadu公司的Borealis光量子处理器为代表,连续变量量子计算的可视化技术将面临全新的挑战与机遇。以下从技术适配、可视化方法及工具开发三个维度展开…...

vite项目使用i18n-ally未读取到文件

前言 在使用 Vue CLI 创建的Vue 3项目中&#xff0c;语言文件&#xff08;src/lang/zh.js和en.js&#xff09;正常加载。 .vscode/settings.json如下&#xff1a;i18n-ally.enabledParsers中增加了js {"i18n-ally.localesPaths": ["src/i18n","src/…...

yarn workspace使用指南

作用 Yarn workspace 是 Yarn 包管理工具中的一个功能&#xff0c;主要用于管理多包项目&#xff08;monorepo&#xff09;。它的主要作用如下&#xff1a; 支持多包结构&#xff1a;允许在一个仓库中管理多个独立的包或项目。项目间依赖管理&#xff1a;方便地在不同包之间添…...