小白手把手教学怎么用maven创建一个Springboot项目

打印 上一主题 下一主题

主题 895|帖子 895|积分 2685

spring_boot

⼀个使⽤了 Spring Boot  的项⽬⼯程,本质上来说和只使⽤ Spring Framework  的⼯程 是⼀样的,如果使⽤ Maven  来管理,那它就是个标准的 Maven  ⼯程,⼤概的结构就 像下⾯这样。
  1. |-pom.xml
  2. |-src
  3.   |-main
  4.     |-java
  5.     |-resources
  6.   |-test
  7.     |-java
  8.     |-resources
复制代码

  • pom.xml  中管理了整个项⽬的依赖和构建相干的信
  • src/main  中是⽣产的 Java  代码和相干资源⽂件;
  • src/test  中是测试的 Java  代码和相干资源⽂件。
POM文件分为以下几个部分:

  • ⼯程⾃⾝的 GroupId 、 ArtifactId  与 Version  等内容定义;
  • ⼯程继承的 org.springframework.boot:spring-boot-starter parent  定义;
  • 依赖项定义;
  • 构建相干的设置定义。
org.springframework.boot:spring-boot-starter-parent  ⼜继承了 org.springframework.boot:spring-boot-dependencies ,它通过定义了⼤量的依赖项,有了 的加持,在我们⾃⼰的⼯程中,只需要在  中写⼊依赖项的 和.
用maven创建一个SpringBoot项目

基础设置:
JDK1.8+IDEA2021版本+maven3.3.9

1.什么是Maven?

Maven是一个项目管理工具,它包含了一个对象模型。一组标准聚集,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。
核心功能 :Maven的核心功能是合理叙述项目间的依赖关系,普通点 就是通过pom.xml文件的设置获取jar包不用手动的去添加jar包,,这个pom.xml包我后面会叙述,不过已经学习过maven的 人应该对这个很熟悉。其本质就是通过设置pom.xml来获取jar包,当然这是在该项目必须是maven项目标前提下。那么什么是maven项目

通过图解可以发现maven工程不直接将jar包导入到工程中,而是通过再pom.xml中添加所需的jar包的坐标,这样就制止了jar直接引入进来,在需要用到jar包的时间,只要查找pom.xml文件,再通过pom.xml中的坐标,到一个专门用于存放jar包的堆栈中根据坐标从而找到这些jar包,再把这些jar包拿去运行
通过 pom.xml 文件设置要引入的 jar 包的坐标,再读取坐标并到堆栈中加载 jar 包,这 样我们就可以直接利用 jar 包了,为了办理这个过程中速度慢的问题,maven 中也有索引的概念,通过创建索引,可以大大提高加载 jar 包的速度,使得我们认为 jar 包根本跟放在本地的工程文件中再读取出来的速度是一样的。这个过程就比如我们查阅字典时,为了可以或许加速查找到内容,书前面的目录就比如是索引,有了这个目录我们就可以方便找到内容了,一样的在 maven 堆栈中有了索引我们就可以认为可以快速找到 jar 包。
2. 项目

现在我们继续创建新项目


设置maven

创建好之后我们可以看到只有这么一些文件内容和文件目录,现在我们要做的第一件事就是设置maven

文件->设置里面找到maven设置,红框里面的就是需要我们手动设置的地方。

这是我的设置目录,这个maven堆栈就是存放项目需要的各种依赖的地方。而且我们要在系统变量里添加才能利用

因为我们利用的是本地堆栈,在这个settings文件里可能默认利用的是服务器端的堆栈,所以还要在代码里改一下

这样的话,项目所有需要的依赖就准备好了

创建新启动项


现在我们在项目里新建了一个模块module1,在pom文件里添加依赖项
  1.     <dependencies>
  2.         <dependency>
  3.             <groupId>org.springframework.boot</groupId>
  4.             <artifactId>spring-boot-starter-web</artifactId>
  5.         </dependency>
  6.     </dependencies>
复制代码
之后我们新建软件包来存放启动类


在导包的时间遇到这种问题就扫除一下缓存然后重新启动。
  1. package com.ivanlee.springboot;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.boot.SpringApplication;
  4. @SpringBootApplication
  5. public class Application {
  6.     public static void main(String[] args) {
  7.         SpringApplication.run(Application.class,args);
  8.     }
  9. }
复制代码
创建application.yml设置文件:设置端标语

这样的话直接运行我们的启动类就可以访问网页了


访问刚才yaml文件里的设置,能得到一张空白页面,因为还没有写controller相干的东西,所以什么都没有

controller


  • 详细的conotroller的原理和结构我们放在后续讲解
需要注意的是controller的类文件必须要放在和启动类同级以及更低一级的目录里面,不能比启动类高,否则启动时将无法扫描到controller里面的路径导致404.
  1. package com.ivanlee.springboot.controller;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. @RestController
  6. @RequestMapping("/regina")
  7. public class FirstController {
  8.     @GetMapping("/127")
  9.     public String test(){
  10.         System.out.println("hello world");
  11.         return "hello world";
  12.     }
  13. }
复制代码
@RestController 和 @Controller 是 Spring Framework 中用于定义控制器的注解。
@RestController 是一个组合注解,它结合了 @Controller 和 @ResponseBody 注解的功能(就相当于把两个注解组合在一起)。在利用 @RestController 注解标记的类中,每个方法的返回值都会以 JSON 或 XML 的形式直接写入 HTTP 响应体中,相当于在每个方法上都添加了 @ResponseBody 注解。
@Controller 注解标记的类则是传统的控制器类。它用于处置惩罚客户端发起的哀求,并负责返回适当的视图(View)作为响应。在利用 @Controller 注解的类中,通常需要在方法上利用 @ResponseBody 注解来指示该方法的返回值要作为响应的主体内容,而不是解析为视图。
  1. 简而言之,@RestController 适用于构建 RESTful 风格的 API,其中每个方法的返回值会直接序列化为 JSON 或 XML 数据并发送给客户端。而 @Controller 适用于传统的 MVC 架构,它负责处理请求并返回相应的视图。(@RestController下的方法默认返回的是数据格式,@Controller注解标注的类下面的方法默认返回的就是以视图为格式)
复制代码

  • 这么讲太抽象了,之后用到了再举例细说

访问该路径便得到了一个前端的响应。如果一直发生404,那么可以点击maven里面的clean按钮,把之前的错误导入清掉再继续。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表