从零开始学SpringBoot-保姆级搭建教程
2024-12-30 10:03 阅读(142)

引言

作为学习过 Java 的软件开发者,相信都知道 Spring 这一伟大的框架,它所拥有的强大功能之一就是可以集成各种开源软件。但随着互联网的高速发展,各种框架层出不穷,这就对系统架构的灵活性、扩展性、可伸缩性 和 高可用性都提出了新的要求。

随着项目的发展,Spring 慢慢地集成了更多的开源软件,引入大量配置文件,这会导致程序出错率高、运行效率低下的问题。为了解决这些状况,Spring Boot 应运而生。

Spring Boot 本身并不提供 Spring 的核心功能,而是作为 Spring 的脚手架框架,以达到快速构建项目、预置三方配置、开箱即用的目的。

下面我们一起来看一下是怎么搭建的吧,下面均以Idea为例。

搭建方式



方式一:去spring官网拿现成的demo

1、官方网站:start.spring.io/

2、group 起一个自己喜欢的名字,artifact名称就是项目的名称,生成之后的文件夹名称就是这个名称

3、完成之后,就会提示生成一个zip的压缩包,如下图,在解压,使用IEDA打开,确定IDEA配置了JDK环境和maven环境.


4、然后我们打开Idea,将他导入进去就可以啦!

5、这个时候一个springboot项目就成型啦!但是缺点东西,有些依赖没有配置,那我们就手动给他加上吧。找到pom.xml文件,把下面代码符赋复制进去:

<!--Web开发起步依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

6、然后接着在src/main/java/com.example.springboot_demo目录下编写一个JAVA类控制器:

//标识一个类是RESTful服务的控制器(Controller)
@RestController
public class HelloController {
    // 用于指定控制器的基本路径
    @RequestMapping("/hello")
    public String hello(){
        return "Hello Spring Boot";
    }
}

7、最后编写一个引导类:SpringBoot的项目入口。

/**
 *引导类:SpringBoot的项目入口。
 *
 */
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

这个时候一个springboot项目就正式创建完成啦,我们直接可以在引导类运行项目:

8、SpringBoot默认端口是8080端口,后期可以通过配置文件进行修改,在地址栏输入localhost:8080来运行看一下:

此时,恭喜各位已经成功完成了第一个SpringBoot项目。此时我们看到已经可以显示数据了。下面我们来看一下第二种方式吧!


方式二:手动创建


1、新建项目

2、选择Maven项目

3、填写GroupId、ArtifactId


GroupId:com.demo.springboot


ArtifactId:SpringBoot-In-Action

4、填写项目名和项目路径

5、创建一个空的maven项目完成,选择允许自动导入

6、删除多余的目录


只保留一个pom.xml文件即可,同时在pom文件中添加springboot依赖和打包类型

现在开始我们的 Spring Boot HelloWorld 项目:

一个功能:浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串;

7、创建一个maven工程;(jar)

在SpringBoot-In-Action项目中新建一个module,选择maven工程,命名为 spring-boot-01-helloworld

8、导入spring boot相关的依赖


因为springboot的依赖已经在父pom中导入

<!--springboot工程需要继承的父工程-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.4</version>
</parent>

所以在当前的pom中只需要导入spring-boot-starter-web的依赖即可:

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

完整 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.springboot</groupId>
    <artifactId>springboot_demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--springboot工程需要继承的父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.4</version>
    </parent>

    <dependencies>
        <!--Web开发起步依赖-->
        <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>
</project>

9、编写一个主程序;启动Spring Boot应用

/**
 * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
 */
@SpringBootApplication
public class HelloWorldMainApplication {
    public static void main(String[] args) {
        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class, args);
    }
}

10、编写相关的Controller、Service


为了演示,我在这里只创建了 Controller 类,省略了 Service

@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "Hello World!";
    }
}

11、运行主程序测试效果

在浏览器中访问 http://localhost:8080/hello 可以看到正常返回了 Hello World 。

至此,我们的手动搭建Spring Boot 项目算是创建完了。接着想怎么玩就怎么玩啦。


好啦,以上就是这期所有的内容啦,有什么不懂的可以在评论区互相探讨哟,我们下期不见不散!!!


作者:Fred_W

链接:https://juejin.cn