ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【技术积累】Spring Boot中的基础知识【一】 [打印本页]

作者: 商道如狼道    时间: 2023-6-27 00:41
标题: 【技术积累】Spring Boot中的基础知识【一】
写在前面

笔者在学校里学习Spring项目的时候,基本上都是老师照着书念PPT,然后演示一些有限的课堂案例,笔者印象很深刻,学校里整个Spring项目也就做了6个课堂练习,而且难度基本上属于连接上数据库就算成功,现在看来很简单的事情,不知道当初为啥搞得这么辛苦
不怕大家笑话,虽然笔者在学校里的成绩尚可,但是笔者直到拿到学位证书的时候,还说不清楚maven依赖是什么,在工作的时候才逐渐了解很多内容,后来必须反复思考到底出了啥问题
所谓黑猫白猫,抓到耗子就是好猫,因此笔者翻了好些教科书,又找了好些培训班网课,结合笔者在科班的经历,后来发现了他们的优缺点在哪
教科书/科班上课
培训班上课/网课
后来笔者在工作以后了解到了若依,笔者很佩服该项目的作者,拥有很高超的技术
后来经过笔者的总结,想出了一个理论结合实际的看起来有点蠢的办法,这个方法在其他项目合集中也会使用,当然估计很多书里其实也用过了
那就是笔者同样会在该系列做一个项目,当然和若依比起来就差远了,随着系列往后,内容也会逐渐完整,我们伴随着项目完整性的升高逐渐辐射所有的知识点,在做项目的时候给和大家讨论技术的完整性,当然有些技术可能不太可能或者不太适合在同一个项目中同时出现,例如不可能又使用Hibernate,又使用Mybatis,这方面没有关系,我们配合版本管理神器【Git】,代码可以多版本,也可以回退
系列需求

同步环境

这里做一个补充说明,有些同学可能对笔者用的IDE比较陌生,这里说一下笔者用的是IDEA 2023.1.1【官网最新版本】破解版
而且对UI做了更新
下载网站:https://www.exception.site/
 
更新UI,另外笔者安装了中文插件,笔者习惯了中文,因此请同学们自行适应语言

新建项目

使用IntelliJ IDEA创建一个Spring Boot应用程序的步骤如下:
 
在选择“Spring Initializr”选项时,需要选择“Maven”或“Gradle”构建工具类型。
这取决于你想使用哪种构建工具来管理你的项目。
如果你选择使用Maven,那么在下一步中将会看到Maven项目设置选项。同样的,如果你选择使用Gradle,那么在下一步中将会看到Gradle项目设置选项。
在选择构建工具类型后,点击“Next”按钮即可继续创建Spring Boot应用程序。
 
创建完Spring Boot项目后,需要添加一些必要的依赖。以下是一些常用的依赖:
要添加这些依赖,可以直接在pom.xml文件中添加。例如,要添加spring-boot-starter-web和spring-boot-starter-data-jpa依赖,可以在pom.xml文件中加入以下内容:
  1. <dependencies>
  2.     <dependency>
  3.         <groupId>org.springframework.boot</groupId>
  4.         <artifactId>spring-boot-starter-web</artifactId>
  5.     </dependency>
  6.     <dependency>
  7.         <groupId>org.springframework.boot</groupId>
  8.         <artifactId>spring-boot-starter-data-jpa</artifactId>
  9.     </dependency>
  10. </dependencies>
复制代码
完成这些步骤后,可以开始编写Spring Boot应用程序了。
项目介绍


Spring Boot的项目结构通常遵循标准的Maven或Gradle项目结构,并遵循约定优于配置的原则。下面是一个常见的Spring Boot项目结构的示例:
1. src/main/java:这个目录下包含了应用程序的Java源代码文件。
   - com.example.myproject:这是默认的主包名(package)。
      - controller:包含控制器(Controller)类,用于处理HTTP请求。
      - service:包含服务(Service)类,用于处理业务逻辑。
      - repository:包含存储库(Repository)类,用于访问数据存储。
      - model:包含数据模型(Model)类,用于表示应用程序中的实体和数据对象。
      - Application.java:包含主启动类,其中的main方法用于启动Spring Boot应用程序。
2. src/main/resources:这个目录下包含了应用程序的资源文件。
   - application.properties/application.yml:包含应用程序的配置属性,如数据库连接、日志级别等。
   - static:包含应用程序的静态资源文件,如html、css、js等。
   - templates:包含应用程序的模板文件,如Thymeleaf模板。
3. src/test/java:这个目录下包含了应用程序的测试代码文件,通常与src/main/java下的包结构相同。
4. src/test/resources:这个目录下包含了应用程序的测试资源文件。
5. pom.xml/gradle.build:这个文件是用来定义项目的依赖和构建配置的。
6. target:这个目录是构建过程中生成的输出目录,包含编译后的类文件、打包后的可执行jar文件等。
这只是一个典型的Spring Boot项目结构示例,实际上可以根据需要进行调整和定制。例如,可以将不同的功能模块放在不同的包下,或者将测试代码和资源文件放在不同的目录下等。
操作步骤







PS:第一次安装依赖项目可能会非常慢,请大家耐心等待
学习重点

什么是依赖

在SpringBoot项目中,依赖是指项目所依赖的其他软件包或模块。这些依赖通常以Maven或Gradle的形式在项目的构建文件(如pom.xml或build.gradle)中声明。依赖可以是其他Java库、框架或工具,也可以是数据库驱动程序、Web服务器等。
SpringBoot项目中的依赖通常分为两种类型:传递性依赖和直接依赖。
通过定义适当的依赖,可以让SpringBoot项目自动加载所需的库和配置,并提供必要的功能和特性,简化了项目的配置和部署过程。
什么是Maven

Maven是一个开源的项目管理工具,用于构建、管理和发布Java项目。它提供了一种简洁的方式来定义和管理项目的依赖关系,自动下载所需的依赖项,并支持项目的编译、测试、打包和部署。
Maven基于项目对象模型(Project Object Model,POM)的概念,通过一个XML文件来描述项目的结构和依赖关系。POM文件包含项目的配置信息,如项目的坐标(groupId、artifactId和version)、依赖项、插件等。Maven通过读取POM文件来了解项目的配置,然后执行相应的操作。
Maven主要具有以下功能:
通过使用Maven,开发者可以更方便地管理和构建Java项目,提高开发效率和代码质量。它还促进了项目之间的协作和复用,可以轻松地共享和重用已经构建好的库和组件。由于Maven的广泛应用,许多开源项目都使用Maven作为其项目管理工具。
如何安装Maven

1. 前往https://maven.apache.org/download.cgi下载最新版的Maven程序:

2. 将文件解压到D:\Program Files\Apache\maven目录下:

3. 新建环境变量MAVEN_HOME,赋值D:\Program Files\Apache\maven

4. 编辑环境变量Path,追加%MAVEN_HOME%\bin\;

5. 至此,maven已经完成了安装,我们可以通过DOS命令检查一下我们是否安装成功:
  1. mvn -v
复制代码

如何在IDEA配置Maven

在设置中搜索Maven,然后把maven路径给配置上去,路径尽量用英文

解读一下代码是什么意思
  1. package com.example.springlearning;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class SpringLearningApplication {
  6.         public static void main(String[] args) {
  7.                 SpringApplication.run(SpringLearningApplication.class, args);
  8.                 System.out.println("Hello World!");
  9.         }
  10. }
复制代码
这段代码是一个Spring Boot应用程序的入口类,它使用了@SpringBootApplication注解,表示该类是一个Spring Boot应用程序的主类。@SpringBootApplication注解相当于使用了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。
其中,@Configuration注解表示该类是一个配置类,@EnableAutoConfiguration注解表示启用自动配置,@ComponentScan注解表示自动扫描组件。
该类的main方法是程序的入口点,通过调用SpringApplication.run方法来运行Spring Boot应用程序。同时,在main方法中输出了"Hello World!"。
代码中的@SpringBootApplication是什么

@SpringBootApplication是一个Spring Boot的注解,它结合了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解的功能。
@Configuration注解表示这是一个配置类,它等价于将该类作为Spring配置文件中的一个配置。
@EnableAutoConfiguration注解表示开启自动配置功能,它会根据添加的依赖自动配置Spring的各种功能。
@ComponentScan注解表示自动扫描并加载符合条件的组件(比如@Service、@Repository、@Component等),并自动注册为Spring管理的Bean。
综合起来,@SpringBootApplication注解可以简化Spring Boot应用的配置,使得开发者只需要关注核心业务逻辑,而不需要手动配置许多繁琐的东西。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4