SpringBoot保姆级教程(二)SpringBoot入门

发布于:2022-12-05 ⋅ 阅读:(314) ⋅ 点赞:(0)

目录

一.通过官网搭建项目

二.通过IDEA脚手架搭建项目

三.SpringBoot项目结构

四.通过Maven搭建项目

五.编写Java代码


一.通过官网搭建项目

接下来我们搭建一个 SpringBoot 项目,并引入 SpringMVC 的功能,
首先我们可以通过官网搭建项目:
1
  1. 访问start.spring.io (这是搭建SpringBoot项目的官网)
  2. 2生成SpringBoot项目

SpringBoot 版本说明:
  • SNAPSHOT:快照版,表示开发版本,随时可能修改;
  • M1Mn):M1milestone的缩写,也就是里程碑版本;
  • RC1RCn):RC1release candidates的缩写,也就是发布预览版;
  • Release:正式版,也可能没有任何后缀也表示正式版
一般都用里程碑版本和正式版。

SpringBoot引入的依赖是起步依赖,是一个功能引入一个依赖,而不是一个jar包引入一个依赖。 

点击上面的生成按钮之后,会自动下载一个官网帮我们搭建的SpringBoot项目的压缩包,解压之后,把解压的文件导入到idea中即可。

之前学习的时候,普通java程序打的是一个jar包,而web程序打得是一个war包,而这是一个Spring Web项目,但是为什么打得是一个jar包呢,请看下面的打包类型说明:

SpringBoot打包类型说明:
使用 SpringMVC 开发的是一个 web 项目,但由于在 SpringBoot 中直接嵌入了 Tomcat
Web容器,所以所以SpringBoot用Java程序运行就可以了,在使用SpringBoot Web 开发时不需要部署 War 文件,只需要打成 Jar包即可,而war是给Tomcat使的。

二.通过IDEA脚手架搭建项目

IDEA 中新建项目,项目类型为 Spring Initializr ,选择 JDK 版本和搭建网站后点击下一步。
其实这个方式底层也是连接的官网。
脚手架工具也会访问 SpringBoot 官网进行项目搭建,但SpringBoot官网有时访问速度较慢,我们也可以选择国内的镜像网站 https://start.aliyun.com/ 搭建项目,阿里的脚手架镜像SpringBoot 版本有些滞后,我还是选择了用官网的网址。
新建一个项目

三.SpringBoot项目结构

接下来我们分析 SpringBoot 的项目结构:
POM 文件
1
1. SpringBoot 项目必须继承 spring-boot-starter-parent ,即所有的SpringBoot 项目都是 spring-boot-starter-parent 的子项目。
spring-boot-starter-parent 中定义了常用配置、依赖、插件等信息,供SpringBoot 项目继承使用。
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.4</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
2. SpringBoot 项目中可以定义起步依赖,起步依赖不是以 jar 包为单位,而是以功能为单位。

这种引入方式使得不必再像之前一样引入那么多依赖,而是现在引入很少的东西即可。 

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

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

3.spring-boot-maven-plugin插件是将项目打包成jar包的插件。

该插件打包后的 SpringBoot 项目无需依赖 web 容器,可以直接使用JDK 运行。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

如果发生报错(spring-boot-maven-plugin呈红色),请参考这篇文章,我的是添加了个版本号就好了。

启动类
启动类的作用是启动 SpringBoot 项目,运行启动类的 main 方法即可启动SpringBoot 项目。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Springbootdemo2Application {

    public static void main(String[] args) {
        
        SpringApplication.run(Springbootdemo2Application.class, args);
    }

}
配置文件
由于 SpringBoot 极大简化了 Spring 配置,所以只有一个application.properties配置文件,且 Spring 的自动配置功能使得大部分的配置都有默认配置,该文件的功能是覆盖默认配置信息,该
文件不写任何信息都可以启动项目。
启动后默认端口号为 8080 ,我们可以覆盖该配置:
然后启动项目

四.通过Maven搭建项目

了解了 SpringBoot 结构后,我们也可以使用 Maven 手动搭建SpringBoot项目:
1
使用Maven创建普通JAVA项目,注意是普通的项目,idea2022版本如下创建,是不用选Archetype的!
 

在pom中添加项目的父工程、起步依赖、插件

    <!--父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.4</version>
    </parent>
    <!--起步依赖-->
    <dependencies>
        <!--springmvc的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.4</version>
        </dependency>
    </dependencies>
    <!--插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

编写启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootAPP {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootAPP.class,args);
    }
}
编写配置文件 application.properties(名字是固定的)
#日志格式
logging.pattern.console=%d{MM/dd HH:mm:ss.SSS} %clr(%-5level) --- [%-15thread] %cyan(%-50logger{50}):%msg%n
#端口号
server.port=8888

项目结构:

运行启动类主方法,启动项目

刷新一下maven,上方就会自动出现服务器

 点击绿色按钮运行即可。

五.编写Java代码

之前搭建的 SpringBoot 项目已经都整合了 SpringMVC ,我们编写一个控制器进行测试:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        System.out.println("hello springboot!");
        return "hello springboot!";
    }
}

在上面的项目结构下,在first下创建一个controller包,再在controller包下新建一个MyController类

com.first.controller
启动类在启动时会做注解扫描 (@Controller @Service 、 @Repository......),扫描位置为 同包(在本例中是com.first)或者子包(在本例中是com.first.controller)下 的注解,所以我们要在启动类同级或同级包下编写代码。

启动项目,访问 http://localhost:8888/hello

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到