[Spring] SpringBoot基本配置与快速上手

🌸个人主页:https://blog.csdn.net/2301_80050796?spm=1000.2115.3001.5343
🏵️热门专栏:
🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm=1001.2014.3001.5482
🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm=1001.2014.3001.5482
🧀Java EE(96平均质量分) https://blog.csdn.net/2301_80050796/category_12643370.html?spm=1001.2014.3001.5482
🍭MySql数据库(93平均质量分)https://blog.csdn.net/2301_80050796/category_12629890.html?spm=1001.2014.3001.5482
🍬算法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12676091.html?spm=1001.2014.3001.5482
感谢点赞与关注~~~
在这里插入图片描述
🍃 从今天开始,Spring板块正式开始更新,欢迎订阅~~

目录

  • 1. 环境准备
  • 2. Maven
    • 2.1 什么是Maven
    • 2.2 创建一个Maven项目
    • 2.3 Maven的核心功能
      • 2.3.1 项目构建
      • 2.3.2 依赖管理
    • 2.4 Maven Help插件
    • 2.5 Maven仓库
      • 2.5.1 坐标
      • 2.5.2 仓库
    • 2.6 为Maven设置国内源
  • 3. 第一个SpringBoot程序
    • 3.1 什么是SpringBoot
    • 3.2 创建SpringBoot项目(以专业版为例)
    • 3.3 项目代码与目录介绍
      • 3.3.1 项目目录
      • 3.3.2 pom文件
    • 3.4 通过SpringBoot项目输出Hello World
    • 3.5 SpringBoot内置的Web服务器

1. 环境准备

社区版: 2021.1-2022.1.4
专业版:无要求
这里推荐大家在某东或者某宝上去找一个专业版的破解器,社区版在后期配置maven插件的时候可能会出现卡死的情况.而专业版就不会.
如果自己电脑上的社区版idea不在这个范围中,就要卸载重新安装.具体步骤可参考:
如何彻底卸载idea
在卸载idea的时候,注意一定不要忘记把注册表和残留的文件也一起卸载.

2. Maven

2.1 什么是Maven

Maven是一个项目管理工具.Maven可以通过一小段描述信息来管理项目构建,报告和文档的项目管理工具软件.
比如在我们前期学习mysql的时候,我们要想通过idea实现jdbc编程,我们就必须去中央仓库中下载mysql与idea的连接驱动程序,这样才可以通过mysql提供的API接入idea的jdbcAPI以便操作数据库.这个文件的格式是.jar文件的格式,但是我们现在有了Maven,我们就没有必要在去中央仓库去下载这个.jar文件了,我们可以直接在pom.xml文件中配置获取jar包,而不是手动添加.

2.2 创建一个Maven项目

注:这里展现的是专业版界面
在这里插入图片描述
在创建java项目中,构建系统一栏选择Maven即可.

2.3 Maven的核心功能

主要体现在两个方面:

  1. 构建项目
  2. 管理依赖

2.3.1 项目构建

当我们开发了一个项目之后,代码需要经过编译,测试,打包等流程,每次代码的修改都需要经过这些流程,如果反复进行调试修改,这个流程就要反复进行,就非常麻烦,而Maven给我们提供了一套简单的命令来完成项目的构建.
在这里插入图片描述
比如package操作,就是打包操作.package把所有的class文件全部打包为jar包或者是war包.
在这里插入图片描述

2.3.2 依赖管理

上面说到,Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,获取的jar包,其实就是依赖.依赖不一定是jar包,也可以是项目.

  • 依赖配置
    那么如何在pom文件中引入依赖呢?比如我们要引入mysql-connector-java:

    1. 我们首先在pom文件中添加新标签<dependcies>标签.
    <dependencies>
    <!--⾥⾯放置项⽬的依赖坐标, 可为多个 --> 
    </dependencies>
    
    1. 之后在 <dependcies>标签中添加依赖坐标.

    所谓依赖坐标就是在中央仓库中可以定位到唯一依赖的信息.这个依赖坐标在中央仓库搜索某个jar文件之后会自动生成,可以复制粘贴.
    在这里插入图片描述

    <dependencies>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>
    </dependencies>
    
    1. 之后点击刷新按钮,(注意:只要pom文件有更新都要点击刷新)就可以在项目一栏中看到扩展库.
      在这里插入图片描述
      在这里插入图片描述
  • 依赖传递
    早期我们没有使用maven时,向项目中添加依赖的jar包,需要把所有的jar包都复制到项目工程下.
    比如A依赖B,B依赖C,那么A项目引入B的同时,也需要引入C,如果我们手动管理这个依赖,这个过程
    就会比较麻烦,我们需要知道每个库都依赖哪些库,以及这些依赖之间的版本是如何关联的.
    就比如下面这个图:
    在这里插入图片描述
    比如我们要依赖项目B和jarA,我们手动导入项目和jar包时, 我们就必须把项目B和jarA下面依赖的所有项目和jar包全部导入进来.

    就比如我们要在家里吃一次火锅,此时我们需要知道用什么样的锅,需要什么样的配菜,需要什么样的食材等.

    但是我们要是使用Maven的话,就可以避免管理所需依赖的关系。我们只需要在pom文件中,定义直接依赖就可以了,由于maven的依赖具有传递性,所以会自动把所依赖的其他jar包也⼀起导入.

    这时候我们只需要叫一个海底捞的外卖,海底捞就会把锅,食材和配菜全部一股脑打包送过来.非常方便.

    比如上图,Maven在导入项目B和jarA的依赖的时候,就会自动把下面所有依赖的项目和jar包全部导入进来.
    JarA和项目B就是项目的直接依赖.
    JarB,JarC是间接依赖.

  • 依赖冲突
    还是上图的依赖关系,如果没有使用Maven的情况下,jarC的版本一个是1.0版本,而另一个是2.0,此时就会产生依赖冲突.
    而如果我们引入了Maven的话,Maven有一项功能叫做依赖调解.
    所谓依赖调解就是:当项目中的依赖存在依赖冲突的时候,Maven会采用最短路径优先的原则去依赖,例如:
    A->B->C->X(1.0)
    A->D->X(2.0)
    由于2.0版本的路径是最短的,所以Maven会优先使用第二条路径中2.0版本的依赖.

  • 依赖排除
    还是上面那个图,比如我们在Maven中写入项目B和jarA的依赖.但是我们不想要jarA下的jarB,此时我们就可以通过依赖排除的方式来实现.

    <dependencies>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
            <exclusions>
                <!-- 添加需要排除的依赖-->
            </exclusions>
        </dependency>
    </dependencies>

2.4 Maven Help插件

当项目比较复杂时,我们就会有Jar包冲突的问题,这时候就需要去解决依赖冲突.解决冲突之前,需要先找到冲突,我们可以使用MavenHelp插件来观察包和包之间的依赖关系.

理解插件:
有请助教:小乔,兰陵王
小乔这个英雄具有很高的伤害,本身是一个非常好的英雄,但是也有一些缺点,就是惧怕兰陵王.某一天,策划给小乔的大招加上了如下的被动效果:在小乔大招范围内的敌人会暴露视野,就相当于给小乔加上了"插件",使得小乔更加天下无敌,不再惧怕兰陵王.
同样的道理,像IDEA这样的程序虽然功能强大,但是也无法面面俱到.对于⼀些特殊场景的功能,开发者就可以开发⼀些"插件".如果需要这个插件,就单独安装.
插件就是对程序的一些特定场景,做出一些特定的功能的扩展.

安装插件:File->Settings->Plugins->搜索’MavenHelp’->找到对应插件,点击Install安装即可.
在这里插入图片描述
安装之后,打开pom文件,下面有一个按钮"依赖分析".点击之后."conflict"可以看到依赖冲突,"All Dependencies as Tree"可以看到各个项目以及jar之间的依赖关系.
在这里插入图片描述
也可以右键之后点击"exclude"排除指定的依赖.
在这里插入图片描述

2.5 Maven仓库

上面我们解释了如何通过Maven导入依赖.

<dependencies>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>        
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
</dependencies>

2.5.1 坐标

这个代码,我们称之为"坐标",也就是唯一的.
在Maven中,根据groupId(组织ID)、artifactId(文件ID)、version(版本)的配置,来唯一识别⼀个jar包,缺⼀不可.
在我们点击刷新之后,Maven就会根据坐标去仓库中寻找jar包.

类似于我们去菜鸟驿站取快递.会给你一个取件码,之后你就会拿着取件码在货架上找你的快递.
在这里插入图片描述

2.5.2 仓库

我们拿到坐标之后,需要在仓库中找到这个jar包.所谓的仓库,就是用于存储各种资源,管理各种jar包的地方.
Maven仓库分为两大类:本地仓库和远程仓库.其中远程仓库又分为中央仓库,私服和其他公共库.

  • 本地仓库
    本地仓库其实就是个人计算机中的一个目录.(目录中存储的是一些jar包)
    当项目通过Maven引入依赖之后,首先会查找本地仓库中是否有对应的jar包.
    • 如果有,则在项目直接引用
    • 如果没有,则去中央仓库中下载对应的jar包到本地仓库.(也就是说,本地仓库中的jar包都是从中央仓库中来的)
    在这里插入图片描述
    本地仓库地址可以通过Maven配置查看.
    在这里插入图片描述
    在该目录下,可以看到有很多的jar.
    在这里插入图片描述
  • 中央仓库
    maven软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联网.由Maven团队维护,全球唯⼀.
    仓库地址1:https://mvnrepository.com这个网站查找和下载比较方便,有图形化界面.其中生成jar的坐标也在这个网站上生成.
    仓库地址2:https://repo1.maven.org/maven2/这个网站更新最及时,也最官方.
    如何在仓库中查找jar的坐标呢?比如我们搜索mysql的jar.
    1. 搜索mysql关键字.
      在这里插入图片描述
    2. 选择列表中需要依赖的jar
      在这里插入图片描述
    3. 选择版本,之后就会生成坐标.
      在这里插入图片描述
  • 私有服务器/私有仓库
    私服:一般由公司团队搭建的私有仓库.
    私服往往需要一定的权限.
    有了私服之后,Maven依赖jar包的顺序又会有所变化.
    在这里插入图片描述
  1. 先从本地仓库获取,本地仓库存在,则直接返回
  2. 如果本地仓库没有,就从私服请求,私服存在该资源,就直接返回
  3. 如果私服上不存在该资源,则从中央仓库下载,中央仓库不存在,就报错了…

2.6 为Maven设置国内源

因为中央仓库在国外,所以就使得从中央仓库往本地仓库下载的时候比较慢.这时候就需要国内的一些平替的公开仓库来代替,这就需要我们把远程仓库设置为国内源.

  1. 首先找到当前项目的用户设置文件,明确它的路径.
    在这里插入图片描述
    不同电脑的路径是不一样的,路径可以任意修改,但是需要注意的是修改的路径中不要有中文.
  2. 打开资源管理器,找到对应的文件.
  3. 使用记事本或者其他的工具打开.
  4. <mirrors>结点上,添加如下内容:
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

之后把原来的<mirror>屏蔽掉
在这里插入图片描述
5. 为新项目设置用户设置文件,为了创建新项目之后也使用的是国内源,我们需要重新设置新项目的用户设置文件.(文件->新建项目设置->新项目的设置->用户设置文件)
在这里插入图片描述
把用户设置文件和刚刚设置好的用户设置文件的路径改成一样的.
在这里插入图片描述

3. 第一个SpringBoot程序

3.1 什么是SpringBoot

首先,什么是Spring?
Spring让Java程序更加快速,简单和安全.Spring对于速度、简单性和生产力的关注使其成为世界上最流行的Java框架.
在这里插入图片描述
Spring官方提供了很多开源的项目,覆盖范围从Web开发到大数据,Spring发展到了今天,已经形成了自己的生态圈.我们在开发时,也倾向于使用Spring官方提供的技术,来解决对应的问题.
之后,什么是SpringBoot?SpringBoot的诞生是为了简化Spring的开发的.也就是说,Spring让Java的开发有了一个质的飞跃,而SpringBoot让Spring的开发又有了一个质的飞跃.

3.2 创建SpringBoot项目(以专业版为例)

  1. 点击文件->新建,之后把项目类型设置为Maven.组别ID,项目名称,工件(项目ID),软件包名称任意,java版本选择17,打包方式选择jar,jdk选择jdk17
    在这里插入图片描述
  2. 下一步,点击web,选择Spring web,点击创建即可.
    在这里插入图片描述
  3. 第一创建SpringBoot项目之后,会在右下角的位置询问是否下载Maven相关配置文件,这时一定要选择下载,这时idea就会从中央仓库中下载Spring的相关插件,下载之后,会在"外部库"一栏出现很多第三方插件.
    在这里插入图片描述

3.3 项目代码与目录介绍

3.3.1 项目目录

在这里插入图片描述
SpringBoot项目主要有两个目录:

  • src/main/java:Java源代码
  • src/main/resources:为静态资源或配置文件:
    • /static:静态资源文件夹,如js,html,css等.
    • /templates:模版资源文件夹,主要存放动态模板文件,比如JSP,Freemarker,Thymeleaf等需要服务器动态渲染数据的文件
  • src/test/java:测试代码源代码
  • target:编译后的文件路径(.class文件)
  • pom.xml:maven配置文件
    注:一开始的时候,可能源代码和测试代码都是不可运行的格式.这时就需要我们对目录进行标记,比如main中的源代码,对java目录右键->将目录标记为->源代码根目录.
    在这里插入图片描述
    测试源代码是同样的道理.

3.3.2 pom文件

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.1</version> <!--统一管理版本,下面的依赖默认都是这个版本-->
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version><!-- SNAPSHOT表示非稳定版本,可能会发生变化,在发布上线这个代码的时候,需要把这个SNAPSHOT删掉 -->
    <name>demo</name>
    <description>demo</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency><!--这个依赖在创建项目选择Spring Web的时候,就自动加入了该依赖,表示这个项目可以通过浏览器访问-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build><!-- 后续打包的时候会依赖的一段代码,如果没有这段代码,只会打包源代码根目录中的java文件,这时候项目是无法运行的,如果有了这段代码,就会把第三方插件也打包进来,项目即可运行 -->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

3.4 通过SpringBoot项目输出Hello World

在我们前面输出Hello World的时候,没办法直接和浏览器互动,所以我们接下来要使用SpringBoot项目来实现和浏览器的交互.
在源代码更目录下创建一个类,实现代码如下:

package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
    @RequestMapping("/hello")//可以理解为资源路径
    public String hello() {
        return "Hello World";
    }
}

之后运行DemoApplication文件.
在这里插入图片描述
之后我们打开浏览器,输入如下地址:http://127.0.0.1:8080/hello,即可在浏览器上看见Hello World.其中127.0.0.1代表本机的IP地址,8080表示端口号,hello表示资源路径.
在这里插入图片描述

3.5 SpringBoot内置的Web服务器

前面我们在学习http协议的时候,知道了HTTP协议就是HTTP客户端和HTTP服务器之间的交互数据的格式.我们想要进行网络通行,我们就必须进行套接字编程.
而SpringBoot中自带了Web服务器,这个Web服务器叫做Tomcat服务器,这个服务器对http协议进行了封装,程序员没有必要再进行网络套接字编程,让Web开发更加便捷.
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第四门课 第一周 卷积神经网络

第四门课 第一周 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09; 文章目录 第四门课 第一周 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;1.1 计算机视觉遇到的问题&#xff08;Computer vision&#xff09;1.2 卷积运算示例&…

[C++] 模拟实现list(一)

标题&#xff1a;[C] 模拟实现list 水墨不写bug 目录 一、list简介 二、铺垫 I&#xff0c;分离编译模式的选择 II&#xff0c;数据结构分析 &#xff08;1&#xff09;命名空间 &#xff08;2&#xff09;类的设计分析 正文开始&#xff1a; 一、list简介 C STL&#xf…

成功登上主要中心化交易所 (CEX) 的终极指南:从准备到上市的全面策略

对于区块链项目的创始人而言&#xff0c;成功的代币发行是项目发展的关键一步。尤其是在主要中心化交易所 (CEX) 上上市代币&#xff0c;可以极大地提高项目的曝光度和流动性。然而&#xff0c;CEX 上市过程复杂且充满挑战&#xff0c;需要创始人提前做好充分准备。本文将详细介…

Postman使用教程【项目实战】

目录 引言软件下载及安装项目开发流程1. 创建项目2. 创建集合(理解为&#xff1a;功能模块)3. 设置环境变量&#xff0c;4. 创建请求5. 测试脚本6. 响应分析7. 共享与协作 结语 引言 Postman 是一款功能强大的 API 开发工具&#xff0c;它可以帮助开发者测试、开发和调试 API。…

【绿色版】Mysql下载、安装、配置与使用(保姆级教程)

大家都知道&#xff0c;Mysql安装版的卸载过程非常繁琐&#xff0c;而且卸载不干净会出现许多问题&#xff0c;很容易让大家陷入重装系统的窘境。基于此&#xff0c;博主今天给大家分享绿色版Mysql的安装、配置与使用。 目录 一、Mysql安装、配置与使用 1、下载解压 2、创建…

Day06-角色管理-员工管理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.编辑角色-进入行内编辑2.角色管理-行内编辑-数据缓存3.角色管理-编辑角色-确定取消4.角色管理-删除角色员工管理-页面结构6.员工管理-左侧树7.员工管理-选中首个节…

ubuntu虚拟机安装samba server实现windows访问虚拟机文件

1. ubuntu下安装samba 1.1 安装samba sudo apt install net-tools # 不能使用ifconfig需要先安装net-tools sudo apt-get install samba1.2 配置samba用户 sudo smbpasswd -a guomq # 新增用户guomq&#xff0c;新增的时候需要设置密码&#xff0c;我们根据提示设置即可修改…

Jmeter+Ant+Git+Jenkins持续集成介绍

一 简介 1.什么是ant? ant是构建工具 2.什么是构建 概念到处可查到&#xff0c;形象来说&#xff0c;你要把代码从某个地方拿来&#xff0c;编译&#xff0c;再拷贝到某个地方去等等操作&#xff0c;当然不仅于此&#xff0c;但是主要用来干这个 3.ant的好处 跨平台 -…

程序员学长 | PyCaret,一个超强的 python 库

本文来源公众号“程序员学长”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;PyCaret&#xff0c;一个超强的 python 库 今天给大家分享一个超强的 python 库&#xff0c;PyCaret。 https://github.com/pycaret/pycaret 简介 …

一文看尽:各大数据公司和 AI 结合进展

一、前言 前面给大家梳理了一下大数据领域领先厂商 snowflake 和 databricks 的最新进展&#xff0c;还挺受欢迎&#xff0c;都是大几千的阅读量。没有看过的可以翻看下面的链接&#xff1a; 大模型时代最懂数据的公司 databricks snowflake 不再是个数据仓库公司了 应该说…

高效应对网络攻击,威胁检测响应(XDR)平台如何提升企业应急响应能力

在数字化时代&#xff0c;企业面临的网络攻击威胁持续增加&#xff0c;如恶意软件、勒索软件、钓鱼攻击、DDoS攻击等。这些威胁不仅危及企业数据安全、系统稳定&#xff0c;还损害了品牌形象和市场信任。随着云计算、大数据、物联网的广泛应用&#xff0c;企业网络攻击面扩大&a…

【2024_CUMCM】TOPSIS法(优劣解距离法)

目录 引入 层次分析法的局限性 简介 例子 想法1 想法2 运用实际分数进行处理 想法3 问题 扩展问题&#xff1a;增加指标个数 极大型指标与极小型指标 统一指标类型-指标正向化 标准化处理 计算公式 计算得分 对原公式进行变化 升级到m个指标和n个对象 代码 …

Python酷库之旅-第三方库Pandas(014)

目录 一、用法精讲 34、pandas.DataFrame.to_parquet函数 34-1、语法 34-2、参数 34-3、功能 34-4、返回值 34-5、说明 34-6、用法 34-6-1、数据准备 34-6-2、代码示例 34-6-3、结果输出 35、pandas.read_sql_table函数 35-1、语法 35-2、参数 35-3、功能 35-4…

防御笔记第四天(持续更新)

1.状态检测技术 检测数据包是否符合协议的逻辑顺序&#xff1b;检查是否是逻辑上的首包&#xff0c;只有首包才会创建会话表。 状态检测机制可以选择关闭或则开启 [USG6000V1]firewall session link-state tcp ? check Indicate link state check [USG6000V1]firewall ses…

Rejetto HFS 服务器存在严重漏洞受到攻击

AhnLab 报告称 &#xff0c;黑客正在针对旧版本的 Rejetto HTTP 文件服务器 (HFS) 注入恶意软件和加密货币挖矿程序。 然而&#xff0c;由于存在错误&#xff0c; Rejetto 警告用户不要使用 2.3 至 2.4 版本。 2.3m 版本在个人、小型团队、教育机构和测试网络文件共享的开发…

MySQL高级----详细介绍MySQL中的锁

概述 锁是计算机协调多个进程或线程并发访问某一资源的机制&#xff0c;为了解决数据访问的一致性和有效性问题。在数据库中&#xff0c;除传统的计算资源(CPU、RAN、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、…

将Hyper-V虚拟机与主机共享网络

Hyper-V 网络设置 目标 将Hyper-V虚拟机网络配置为与主机使用同一网络&#xff0c;并确保主机网络连接不受影响。 前提条件 主机上已安装Hyper-V已创建Hyper-V虚拟机 步骤 1. 配置主机网络共享 打开 控制面板 -> 网络和 Internet -> 网络连接。右键点击 WIAN,选择…

顶刊中的“水”刊!录取率>90%,十投九中,含金量高,近期1个月就录用!

本周投稿推荐 SCI • 能源科学类&#xff0c;1.5-2.0&#xff08;25天来稿即录&#xff09; • CCF推荐&#xff0c;4.5-5.0&#xff08;2天见刊&#xff09; • 生物医学制药类&#xff08;2天逢投必中&#xff09; EI • 各领域沾边均可&#xff08;2天录用&#xff09…

游戏AI的创造思路-技术基础-情感计算(1)

游戏中的AI也是可以和你打情感牌的哦&#xff0c;不要以为NPC是没有感情的&#xff0c;不过&#xff0c;不要和NPC打过多的情感牌&#xff0c;你会深陷其中无法自拔的~~~~~~ 目录 1. 情感计算算法定义 2. 发展历史 3. 公式和函数 3.1. 特征提取阶段 TF-IDF&#xff08;词频…

vue 自定义(hook)--(模块化)

文章目录 定义示例代码 定义 什么是hook&#xff1f;—— 本质是一个函数&#xff0c;把setup函数中使用的Composition API进行了封装&#xff0c;类似于vue2.x中的mixin。 自定义hook的优势&#xff1a;复用代码, 让setup中的逻辑更清楚易懂。 示例代码 useSum.ts中内容如下…