最新版IntelliJ IDEA 2024.2.3 创建SpringBoot项目(包含各种依赖的选择和功能)

news2024/11/26 5:24:50

创建SpringBoot项目

1 . 打开IDEA 选择新建项目

在这里插入图片描述

2. 基础项目创建

在顶端几个选项可以选择创建基本的java项目

填写项目名称,文件位置,选择构建工具
在这里插入图片描述

3. 下方选择springboot

在这里插入图片描述
选择构建的方式

三种方式虽然不同但是,基本功能都一致,

Gradle-Groovy 是指使用 Groovy 语言编写的 Gradle 构建脚本。

4.点击下一步进入依赖选择

将有很多依赖供你选择

在这里插入图片描述

下面我将逐个介绍这些依赖的功能

1. 在这里插入图片描述

GraalVM Native Support:用于支持将Java应用编译为本地可执行文件。

GraphQL DGS Code Generation:用于生成GraphQL相关代码,通常用于GraphQL API的开发。

Spring Boot DevTools:提供开发时的热部署功能,加快开发过程中的应用更新和调试。

Lombok:一个Java库,通过注解可以自动生成常见代码,如getter、setter、构造函数等,减少样板代码的书写。

Spring Configuration Processor:用于在IDE中提供自动完成和验证Spring配置文件的功能。

Docker Compose Support:帮助集成和管理Docker Compose文件,方便在开发过程中使用Docker部署应用。

Spring Modulith:用于支持模块化Spring应用程序的开发

2 .web

在这里插入图片描述
这些依赖是用于构建Web相关功能的工具和框架,

Spring Web:用于构建传统的同步Web应用程序。

Spring Reactive Web:支持响应式编程的Web应用开发,基于Reactor库。

Spring for GraphQL:用于构建GraphQL API。

Rest Repositories:基于Spring Data REST,用于快速暴露Spring Data仓库为RESTful Web服务。

Spring Session:用于在分布式环境中管理用户会话。

Rest Repositories HAL Explorer:提供一个简单的浏览器UI来探索和测试暴露的REST资源。

Spring HATEOAS:用于构建遵循HATEOAS原则的RESTful API,使得客户端可以通过链接导航API资源。

Spring Web Services:用于创建和使用SOAP Web服务。

Jersey:一种用于开发RESTful Web服务的开源框架,符合JAX-RS规范。

Vaadin:用于构建现代化的Web GUI,提供了一种Java编程模型。

Netflix DGS:用于构建GraphQL服务的框架,提供简化的开发体验。

htmx:用于增强HTML页面功能的JavaScript库,使其能够利用AJAX与服务器进行更动态的交互。

3 .模板引擎

用于在Web应用中生成动态网页
在这里插入图片描述

Thymeleaf:适合Spring应用的现代模板引擎,支持HTML5,提供自然模板,也能在浏览器中直接查看。

Apache Freemarker:功能强大的Java模板引擎,广泛用于生成HTML网页和其他基于文本的内容。

Mustache:逻辑无关的模板引擎,简单且轻量,适用于多种语言的实现。

Groovy Templates:使用Groovy语言编写的简单模板引擎,适用于需要动态生成内容的场景。

JTE:一种静态编译的模板引擎,具有高性能,通常用于生成快速和类型安全的HTML。

4.安全性和身份验证

在这里插入图片描述

Spring Security:用于为Java应用提供全面的安全功能,包括认证和授权。

OAuth2 Client:支持OAuth2协议的客户端功能,用于获取和管理访问令牌。

OAuth2 Authorization Server:用于实现OAuth2授权服务器,管理用户认证和访问授权。

OAuth2 Resource Server:用于保护资源服务器,验证并处理来自OAuth2客户端的访问令牌。

Spring LDAP:提供与LDAP服务器的集成功能,方便进行用户认证和目录数据访问。

Okta:用于与Okta集成,实现身份验证和授权服务。

5.数据库操作

在这里插入图片描述

JDBC API:用于连接和执行SQL操作的Java API。

Spring Data JPA:提供JPA数据层的简化操作支持,与ORM技术集成。

Spring Data JDBC:轻量级的数据访问框架,不需要ORM,直接使用JDBC。

Spring Data R2DBC:用于异步数据库操作的响应式数据访问框架。

MyBatis Framework:支持自定义SQL、存储过程和高级映射的持久层框架。

Liquibase Migration:用于数据库版本控制和迁移的工具。

Flyway Migration:另一个数据库迁移工具,支持简单明确的SQL脚本管理。

JOOQ Access Layer:通过生成的Java代码类型安全地构建SQL查询。

IBM DB2 Driver:用于连接IBM DB2数据库的驱动程序。

Apache Derby Database:嵌入式关系数据库,适合轻量级应用。

H2 Database:嵌入式数据库,适合开发和测试阶段使用。

HyperSQL Database:内存中运行的关系数据库,轻量且快速。

MariaDB Driver:用于连接MariaDB数据库的驱动程序。

MS SQL Server Driver:用于连接Microsoft SQL Server数据库的驱动程序。

MySQL Driver:用于连接MySQL数据库的驱动程序。

Oracle Driver:用于连接Oracle数据库的驱动程序。

PostgreSQL Driver:用于连接PostgreSQL数据库的驱动程序。

6.NoSQL数据库交互

在这里插入图片描述

Spring Data Redis (Access+Driver):用于与Redis数据库交互。

Spring Data Reactive Redis:用于与Redis的异步和响应式交互。

Spring Data MongoDB:用于与MongoDB数据库交互。

Spring Data Reactive MongoDB:用于与MongoDB的异步和响应式交互。

Spring Data Elasticsearch (Access+Driver):用于与Elasticsearch搜索和分析引擎交互。

Spring Data for Apache Cassandra:用于与Apache Cassandra数据库交互。

Spring Data Reactive for Apache Cassandra:用于与Cassandra的异步和响应式交互。

Spring Data Couchbase:用于与Couchbase数据库交互。

Spring Data Reactive Couchbase:用于与Couchbase的异步和响应式交互。

Spring Data Neo4j:用于与Neo4j图形数据库交互。

7.消息传递和异步通信的工具

Spring Integration:提供企业集成模式的支持,实现消息驱动的架构。

Spring for RabbitMQ:用于集成RabbitMQ消息队列。

Spring for RabbitMQ Streams:支持RabbitMQ Streams的消息传递。

Spring for Apache Kafka:用于集成Apache Kafka消息系统。

Spring for Apache Kafka Streams:支持Kafka Streams的数据流处理。

Spring for Apache ActiveMQ 5:用于集成ActiveMQ 5消息代理。

Spring for Apache ActiveMQ Artemis:用于ActiveMQ Artemis消息代理的集成。

Spring for Apache Pulsar:用于集成Apache Pulsar消息系统。

Spring for Apache Pulsar (Reactive):支持Apache Pulsar的响应式消息处理。

WebSocket:用于构建实时Web应用,支持WebSocket协议。

RSocket:用于二进制流和异步消息传递的协议,适合微服务架构。

Apache Camel:提供规则路由和消息转换的集成框架。

Solace PubSub+:用于集成Solace PubSub+事件流管理。

9.io

在这里插入图片描述

Spring Batch:用于批处理应用程序开发的框架,支持批量操作和任务调度。

Validation:用于数据验证,通常应用于数据输入验证和对象验证。

Java Mail Sender:用于发送电子邮件的支持库,简化邮件功能的实现。

Quartz Scheduler:强大的作业调度库,用于调度和管理作业执行。

Spring Cache Abstraction:提供缓存抽象层,支持多种缓存实现,优化性能。

Spring Shell:用于创建命令行程序的工具,支持交互式Shell功能。

10.运维和监控

在这里插入图片描述

Spring Boot Actuator:提供监控和管理生产环境应用的功能,如健康检查和指标。

CycloneDX SBOM support:用于支持生成软件材料清单(SBOM),提升供应链安全。

codecentric's Spring Boot Admin (Client):用于集成Spring Boot Admin,用于管理和监控Spring Boot应用。

codecentric's Spring Boot Admin (Server):用于运行Spring Boot Admin服务器,集中管理多个Spring Boot应用。

Sentry:用于应用程序的实时异常监控和错误报告。

11.可观测性和监控

在这里插入图片描述

Datadog:云基础设施监控服务,提供日志管理和实时数据分析。

Dynatrace:应用性能管理(APM)工具,提供自动化运维和智能监控。

Influx:用于存储和查询时序数据的数据库。

Graphite:企业级监控和图形工具,适合实时数据可视化。

New Relic:APM工具,提供实时性能监控和分析。

OTLP for metrics:支持OpenTelemetry协议,用于标准化指标采集。

Prometheus:强大的开源监控系统,提供多维数据模型和查询语言。

Distributed Tracing:支持分布式跟踪,帮助分析分布式系统中的请求流。

Wavefront:针对企业的云监控和分析平台。

Zipkin:分布式追踪系统,用于收集和查找请求的延迟数据。

12.测试

在这里插入图片描述

Spring REST Docs:用于生成基于测试的API文档,帮助开发和维护RESTful服务。

Testcontainers:用于Java集成测试的库,支持在测试中使用Docker容器。

Contract Verifier:用于消费者驱动契约(CDC)测试,确保提供者和消费者之间的契约一致性。

Contract Stub Runner:用于在测试中运行契约的桩代码,模拟服务行为。

Embedded LDAP Server:用于在测试中嵌入和配置LDAP服务器,进行LDAP相关功能测试。

13.Spring Cloud

在这里插入图片描述

Spring Cloud
Cloud Bootstrap:初始化Spring Cloud应用的工具。
Function:支持函数式编程模型的组件。
Task:用于运行短生命周期任务的支持。

Spring Cloud Config
Config Client:从配置服务器获取配置信息。
Config Server:集中管理和分发配置。
Vault Configuration:集成HashiCorp Vault进行安全配置管理。
Apache Zookeeper Configuration:使用Zookeeper管理配置。
Consul Configuration:使用Consul管理配置。

Spring Cloud Discovery
Eureka Discovery Client:Eureka服务发现客户端。
Eureka Server:Eureka服务注册和发现服务器。
Apache Zookeeper Discovery:使用Zookeeper实现服务发现。
Consul Discovery:使用Consul实现服务发现。

Spring Cloud Routing
Gateway:基于流量的路由和筛选。
Reactive Gateway:支持异步编程模型的路由。
OpenFeign:简化服务间HTTP调用的声明性Web服务客户端。
Cloud LoadBalancer:客户端负载均衡。

Spring Cloud Circuit Breaker
Resilience4J:一种高效的断路器实现,增强服务稳定性。

Spring Cloud Messaging
Cloud Bus:用于在分布式系统中传播事件的机制。
Cloud Stream:用于简化消息驱动的微服务开发。

14.VMware Tanzu应用服务

用于支持云原生应用的开发和部署
在这里插入图片描述

Config Client (TAS):用于从Tanzu应用服务的配置服务器获取配置信息的客户端。

Service Registry (TAS):用于服务注册和发现的组件,帮助微服务相互发现和通信。

15.Microsoft Azure和Google Cloud平台集成

在这里插入图片描述

Microsoft Azure
Azure Support:提供对Azure服务的基础支持和集成。
Azure Active Directory:用于身份验证和授权服务,支持单点登录。
Azure Cosmos DB:与Azure的全局分布式数据库服务集成。
Azure Key Vault:用于管理和存储密钥、凭据和机密。
Azure Storage:用于集成Azure的存储解决方案。

Google Cloud
Google Cloud Support:提供对Google Cloud服务的基础支持和集成。
Google Cloud Messaging:用于实时消息传递服务的集成。
Google Cloud Storage:与Google Cloud存储服务集成。

16.AI

在这里插入图片描述

AI/向量数据库
Azure OpenAI:与Azure上的OpenAI服务集成。
Azure AI Search:用于增强搜索功能的Azure服务。
Amazon Bedrock:用于构建和部署生成式AI应用。
Apache Cassandra Vector Database:支持向量数据的存储和查询。
Chroma Vector Database:高性能向量数据库。
Elasticsearch Vector Database:扩展Elasticsearch以支持向量搜索。
Milvus Vector Database:专为向量数据而设计的开源数据库。
Mistral AI:AI 模型和应用的支持库。
MongoDB Atlas Vector Database:MongoDB的向量数据支持。
Neo4j Vector Database:图数据库与向量数据的集成。
Ollama:AI应用服务平台。
OpenAI:用于与OpenAI模型的集成。
Oracle Vector Database:Oracle的向量数据库支持。
PGvector Vector Database:PostgreSQL的向量数据扩展。
Pinecone Vector Database:用于向量相似性搜索的托管数据库。
PostgresML:在PostgreSQL中直接进行机器学习。
Redis Search and Query Vector Database:Redis的搜索和向量支持。
Stability AI:专注于生成AI模型与应用。
Transformers (ONNX) Embeddings:使用ONNX模型进行嵌入计算。
Vertex AI PaLM2:Google Cloud的AI平台,提供强大的模型支持。
Vertex AI Gemini:Google Cloud的高级机器学习服务。
Qdrant Vector Database:适合大规模向量数据的高性能引擎。
Typesense Vector Database:快速的开源向量搜索引擎。
Weaviate Vector Database:开源向量搜索引擎。
Timefold Solver:优化求解算法,适用于复杂问题。

一般选择

在这里插入图片描述
一般项目可以先选择这些依赖项

可以学习使用这些配置的方法

就可以快速构建一个应用

Spring Web:构建RESTful API,处理HTTP请求和响应。

Spring Boot DevTools:提供开发效率提升功能,如热部署和自动重启。

Spring Data JPA:使用关系型数据库进行数据存储和查询。

Spring REST Docs:生成基于测试的API文档,帮助维护接口文档。

Lombok:通过注解自动生成样板代码,减少重复工作,如getter和setter。

Spring Security:实现安全功能,提供用户认证和授权保护。

Spring Data MongoDB:如果使用非关系型数据库,提供MongoDB支持。

WebSocket:支持实时通信功能,适用于实时聊天或问答。

MySQL Driver:用于连接MySQL数据库,进行数据存取。

Spring Data Redis (Access + Driver):用于集成Redis,支持缓存机制提升性能。

Spring Boot Actuator:监控和管理应用的健康状况和性能指标。

点击创建

在这里插入图片描述
等待项目配置完成
在这里插入图片描述

生成了项目

以下是完整的项目文件
在这里插入图片描述

根目录
		build.gradle:Gradle构建脚本,定义项目依赖和构建任务。
		settings.gradle:Gradle设置文件,用于配置项目的相关信息。
		gradlew和gradlew.bat:Gradle包装器脚本,允许你在不安装Gradle的情况下使
		用它来构建项目。
		demo.iml:IDEA的项目文件,用于IDE配置。
		.gitignore:Git配置文件,指定哪些文件或目录不应该包含在版本控制中。
		HELP.md:通常提供项目帮助文档或说明(如果有的话)。


.idea目录
		gradle.xml, misc.xml, modules.xml, workspace.xml:IDEA生成的项目配置文件,包含了项目特定的IDE设置。

gradle/wrapper目录
		gradle-wrapper.jar:Gradle包装器的可执行JAR文件。
		gradle-wrapper.properties:配置文件,指定Gradle包装器的版本和下载地址。


src目录
		main目录
			java:包含Java源码。
			com/example/demo/DemoApplication.java:主应用程序入口类,通常带有@SpringBootApplication注解。
			resources:存放资源文件。
			static:存放静态资源,如CSS、JavaScript文件。
			templates:存放模板文件(如Thymeleaf模板)。
			application.properties:Spring Boot应用程序的配置属性文件。

	
	test目录
			java:包含测试代码。
			com/example/demo/DemoApplicationTests.java:用于编写测试用例。
其他
		外部库:项目中使用的所有外部依赖和库。
		临时文件和控制台:开发过程中生成的临时文件和控制台日志。

Gradle构建超时情况处理

由于网络,可能构建时候会很慢

1.打开

在这里插入图片描述
修改这个配置文件将他改为阿里云或者腾讯的地址

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.10.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists


阿里	https://mirrors.aliyun.com/macports/distfiles/gradle
腾讯	https://mirrors.aliyun.com/macports/distfiles/gradle

保存后刷新将开始下载

在这里插入图片描述

build.gradle文件

plugins {
    id 'java'  // 应用Java插件,启用Java编译功能
    id 'org.springframework.boot' version '3.3.4'  // 应用Spring Boot插件,指定Spring Boot版本
    id 'io.spring.dependency-management' version '1.1.6'  // 应用Spring的依赖管理插件,简化依赖版本管理
    id 'org.asciidoctor.jvm.convert' version '3.3.2'  // 应用Asciidoctor插件,用于生成文档
}

group = 'org.example'  // 定义项目的组ID
version = '0.0.1-SNAPSHOT'  // 定义项目版本

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)  // 设置Java工具链,使用Java 17版本
    }
}

configurations {
    compileOnly {  // 定义一个编译时只存在的配置
        extendsFrom annotationProcessor  // 扩展为依赖处理器
    }
}

repositories {
    mavenCentral()  // 指定使用Maven中央仓库管理依赖
}

ext {
    set('snippetsDir', file("build/generated-snippets"))  // 定义生成的代码片段目录
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-actuator'  // 添加Spring Boot Actuator依赖,以支持应用监控
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'  // 添加Spring Data JPA依赖,以支持JPA功能
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'  // 添加Spring Data MongoDB依赖,以支持MongoDB
    implementation 'org.springframework.boot:spring-boot-starter-data-redis'  // 添加Spring Data Redis依赖,以支持Redis
    implementation 'org.springframework.boot:spring-boot-starter-security'  // 添加Spring Security依赖,以支持安全功能
    implementation 'org.springframework.boot:spring-boot-starter-web'  // 添加Spring Web依赖,以支持Web功能
    implementation 'org.springframework.boot:spring-boot-starter-websocket'  // 添加WebSocket支持
    compileOnly 'org.projectlombok:lombok'  // 添加Lombok依赖,仅在编译时使用
    developmentOnly 'org.springframework.boot:spring-boot-devtools'  // 添加开发工具依赖,仅在开发环境中使用
    runtimeOnly 'com.mysql:mysql-connector-j'  // 添加MySQL连接器,仅在运行时需要
    annotationProcessor 'org.projectlombok:lombok'  // 添加Lombok注解处理器
    testImplementation 'org.springframework.boot:spring-boot-starter-test'  // 添加Spring Boot测试依赖
    testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'  // 添加Spring REST Docs以生成API文档
    testImplementation 'org.springframework.security:spring-security-test'  // 添加Spring Security测试支持
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'  // 添加JUnit平台测试支持
}

tasks.named('test') {
    outputs.dir snippetsDir  // 将生成的代码片段的输出目录设置为snippetsDir
    useJUnitPlatform()  // 使用JUnit平台
}

tasks.named('asciidoctor') {
    inputs.dir snippetsDir  // 将snippetsDir作为输入目录
    dependsOn test  // 确保在生成文档前执行测试
}


构建错误

在这里插入图片描述
一般是因为jdk版本

需要打开设置,下载一个17 版本

然后重新加载
在这里插入图片描述
在这里插入图片描述
项目构建完成

如果没用配置数据库先将依赖注释,等以后再引入

在这里插入图片描述

设置端口

在这里插入图片描述

随后启动

访问端口
在这里插入图片描述

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

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

相关文章

鸿蒙开发(NEXT/API 12)【访问控制应用权限管控概述】程序访问控制

默认情况下,应用只能访问有限的系统资源。但某些情况下,应用存在扩展功能的诉求,需要访问额外的系统数据(包括用户个人数据)和功能,系统也必须以明确的方式对外提供接口来共享其数据或功能。 系统通过访问…

http2详细讲解

github链接 : http2

免费音频剪辑软件大揭秘:让声音创作更轻松

在精神娱乐越发丰富的现在,音频内容的创作和编辑变得越来越重要。无论是专业的音乐制作人,还是自媒体创作者,都可能需要一款功能强大且易于使用的音频剪辑软件来处理音频素材。今天我们一同来探讨有什么好用的免费音频剪辑软件吧。 1.福昕音…

UGUI(六大UI根基组件)

Rect Transform 各种参数 是显示pos还是width/height 还是left/top/right/bottom之类巴拉巴拉,各种混合的展示baby,都是看anchor的设置 pivot的设置影响具体数值 至于blueprint mode ,就是用了之后框框不变,who wanna do thi…

Graph Retrieval-Augmented Generation: A Survey

最近,检索增强生成(RAG)在解决大型语言模型(llm)的挑战方面取得了显著的成功,而无需再培训。通过引用外部知识库,RAG改进了LLM输出,有效地减轻了诸如“幻觉”、缺乏特定于领域的知识和过时信息等问题。然而,数据库中不…

数据结构与算法篇(图)(持续更新迭代)

目录 一、引言 二、基本概念 三、图的定义 四、图的基本概念和术语 1. 有向图 2. 无向图 3. 简单图 4. 多重图 5. 完全图(也称简单完全图) 6. 子图 7. 连通、连通图和连通分量 8. 强连通图、强连通分量 9. 生成树、生成森林 10. 顶点的度、…

通信工程学习:什么是OSPF开放式最短路径优先

OSPF:开放式最短路径优先 OSPF(Open Shortest Path First,开放式最短路径优先)是一种内部网关协议(IGP),被广泛应用于计算机网络中,特别是在构建大型和复杂的网络时。以下是对OSPF的…

【Linux】进程第三弹(虚拟地址空间)

目录 现象 底层原因 数据不发生修改 数据修改 小总结 地址空间本质 为什么要有地址空间 现象 来看代码&#xff1a; #include <stdio.h> #include <unistd.h> #include <sys/types.h>int val 50;int main() {printf("father process is running…

Kotlin真·全平台——Kotlin Compose Multiplatform Mobile(kotlin跨平台方案、KMP、KMM)

前言 随着kotlin代码跨平台方案的推出&#xff0c;kotlin跨平台一度引起不少波澜。但波澜终归没有掀起太大的风浪&#xff0c;作为一个敏捷型开发的公司&#xff0c;依然少不了Android和iOS的同步开发&#xff0c;实际成本和效益并没有太多变化。所以对于大多数公司来说依然风平…

【数据结构】【链表代码】移除链表元素

移除链表元素 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* removeElements(struct ListNode* head, int val) { // 创建一个虚拟头节点&#xff0c;以处理头节点可能被删除的情况 struct…

ROS/Gazebo/Nav2/MoveIt Pro/RMF学习笔记24-10-06

ROS ROS&#xff08;Robot Operating System&#xff09;系统&#xff0c;尽管严格意义上来说并非一个操作系统&#xff0c;而是一个专为机器人软件开发的开源软件框架集合&#xff0c;它在机器人技术领域中扮演着至关重要的角色。ROS系统的新应用和特性主要体现在以下几个方面…

【Linux】Shell脚本基础+条件判断与循环控制

目录 一、介绍 1. Linux提供的Shell解析器 2. bash和sh关系 3. Centos默认的Shell解析器是bash 二、定义 1. 变量名的定义规则 2. 等号周围没有空格 3. 查看变量 4. 删除变量 5. 正确地定义数组 6. 将局部环境变量提升为全局 7. 正确选择引号 8. 特殊变量名 三…

MES系统与其他系统的集成

一、MES与ERP的集成 1. 实时数据共享 万界星空科技MES系统可以与企业资源计划&#xff08;ERP&#xff09;系统集成&#xff0c;实现双向数据传输。通过实时数据共享&#xff0c;ERP系统能够更准确地进行物料需求计划&#xff0c;并及时更新生产进度和库存信息。 2. 工单管理…

LeetCode讲解篇之322. 零钱兑换

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们可以使用动态规划解决这道题&#xff0c;我们首先定义一个数组&#xff0c;数组中第i个元素表示组成金额 i 的最少硬币个数 我们遍历数组的1 ~ amount号位置&#xff0c;对coins进行遍历&#xff0c;查找选…

短剧小程序短剧APP在线追剧APP网剧推广分销微短剧小剧场小程序集师知识付费集师短剧小程序集师小剧场小程序集师在线追剧小程序源码

一、产品简介功能介绍 集师专属搭建您的独有短剧/追剧/小剧场小程序或APP平台 二、短剧软件私域运营解决方案 针对短剧类小程序的运营&#xff0c;以下提出10条具体的方案&#xff1a; 明确定位与目标用户&#xff1a; 对短剧类小程序进行明确定位&#xff0c;了解目标用户群体…

【最新华为OD机试E卷-支持在线评测】计算三叉搜索树的高度(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

社会工程学:社工无处不在

目录 社会工程学 社工利用了人的弱点 社会工程学攻击的流程通常可以分为以下几个步骤 以下是一些常见的方式&#xff0c;攻击者可以利用这些方式来收集个人信息 一些常见的攻击方式 钓鱼邮件 宏病毒 网站克隆 防范 社会工程学 介绍&#xff1a; 社会工程学是一种攻击技…

S7-200 SMART 与调试助手之间 Modbus RTU 通信

西门子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站/从站协议库&#xff0c;Modbus RTU 指令位于 STEP7-Micro/WIN SMART 项目树中“指令”文件夹的“库”文件夹中。如图1.Modbus RTU库指令所示。 图1.Modbus RTU库指令 注意&#xff1a; 1. Modbus RTU 主站指令库的…

nginx 负载均衡1

遇到的问题 大型网站都要面对庞大的用户量&#xff0c;高并发&#xff0c;海量数据等挑战。为了提升系统整体的性能&#xff0c;可以采用垂直扩展和水平扩展两种方式。 垂直扩展&#xff1a;在网站发展早期&#xff0c;可以从单机的角度通过增加硬件处理能力&#xff0c;比如 C…

【Redis】持久化(上)---RDB

文章目录 持久化的概念RDB手动触发自动触发bgsave命令的运行流程RDB文件的处理RDB的优缺点RDB效果展示 持久化的概念 Redis支持AOF和RDB两种持久化机制,持久化功能能有效的避免因进程退出而导致的数据丢失的问题,当下次重启的时候利用之前持久化的文件即可实现数据恢复. 所以此…