亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Springboot入門指南:搭建首個Web應用

標簽:
SpringBoot
概述

Spring Boot 是一个旨在简化新Spring应用初始搭建及配置的框架,通过提供丰富的自动配置选项,使得开发者可以快速构建独立的、生产级的应用。它减少了配置工作,使开发者可以专注于应用程序的核心逻辑。Spring Boot还提供了起步依赖、嵌入式Web服务器和命令行界面等功能,进一步简化了开发流程。

Spring Boot简介

什么是Spring Boot

Spring Boot 是Spring框架的一个模块,旨在简化新Spring应用的初始搭建及搭建过程。它通过提供大量的自动配置选项,使得开发者可以快速构建独立的、生产级的基于Spring的应用。Spring Boot的设计目标是减少配置工作,使开发者可以专注于应用程序的核心逻辑,而不是分散精力到项目环境设置上。

Spring Boot的优势

  1. 自动配置:Spring Boot会自动根据类路径中的依赖进行配置,例如自动配置一个Tomcat服务器、配置一个嵌入式Servlet容器。
  2. 最少的XML配置:Spring Boot旨在最大限度地减少代码中的XML配置。大多数情况下,不需要编写XML配置。Spring Boot鼓励使用Java Configuration(Java配置)来代替传统的XML配置。
  3. 起步依赖:Spring Boot提供了一种全新的Maven和Gradle依赖管理方式。依赖的排除和版本控制都由Spring Boot来处理。
  4. 嵌入式Web服务器:Spring Boot允许将一个Web容器(如Tomcat、Jetty等)嵌入到应用中,使得应用可以直接运行,而不需要部署到外部的Web容器中。
  5. 命令行界面:Spring Boot提供了一个命令行界面(CLI),它可以用来创建Spring Boot应用、测试应用、引导开发等。

Spring Boot的核心概念

  1. 起步依赖:起步依赖是一种约定,它简化了开发步骤,使得开发者不需要编写大量的配置和依赖管理。例如,spring-boot-starter-web会自动引入Spring Web MVC相关依赖。
  2. 自动配置:自动配置是Spring Boot中最核心的功能之一。它通过分析类路径中的依赖,自动配置Spring应用。开发者可以通过@EnableAutoConfiguration注解来启用自动配置。
  3. 主类与启动器:Spring Boot应用的入口通常是一个标注了@SpringBootApplication注解的主类。Spring Boot会创建一个Spring应用上下文来加载主类及其配置。
  4. 命令行工具:Spring Boot CLI是一个命令行工具,它支持编写和运行Groovy脚本和Java类。它也可以用于快速创建新的Spring Boot应用。
开发环境搭建

安装Java开发环境

在开始使用Spring Boot之前,首先需要确保已经安装了Java开发环境。Spring Boot应用需要Java 8或更高版本。以下是安装Java开发环境的一些步骤:

  1. 检查Java版本:在命令行中输入java -version命令来检查是否已经安装了Java。如果没有安装Java或版本低于Java 8,则需要安装Java。
java -version
  1. 安装Java:下载并安装Java JDK。可以从Oracle官方网站Adoptium下载Java JDK的安装包。

  2. 配置环境变量:在安装Java之后,需要配置环境变量。编辑PATH环境变量,添加Java的安装路径。例如,如果Java JDK安装在C:\Program Files\Java\jdk-17,则需要将该路径添加到系统环境变量中。

下载并配置Spring Boot

Spring Boot可以使用Maven或Gradle构建工具来管理依赖和构建应用。以下是配置Spring Boot环境的一些步骤:

  1. 安装Maven或Gradle:确保已安装Maven或Gradle。Maven可以从Apache Maven官网下载,Gradle可以从Gradle官网下载。
  2. 创建Maven或Gradle项目:可以使用Maven或Gradle命令来创建新的项目。例如,使用Maven命令:
mvn archetype:generate -DgroupId=com.example -DartifactId=hello-spring-boot -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

上述命令会创建一个新的Maven项目,项目名是hello-spring-boot,并提供了基本的目录结构。

创建Spring Boot项目

  1. 创建项目目录:准备一个项目目录,例如C:\Projects\hello-spring-boot
  2. 配置pom.xml文件:在项目目录中创建一个pom.xml文件,用于管理项目的Maven配置。
<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.example</groupId>
    <artifactId>hello-spring-boot</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.3</version>
    </parent>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
  1. 创建主类:在src/main/java目录下创建主类,例如HelloApplication.java
package com.example.hello;

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

@SpringBootApplication
public class HelloApplication {
    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }
}
第一个Spring Boot应用

创建简单的Spring Boot应用

在上一节中,我们已经创建了一个简单的Spring Boot项目。接下来,我们将进一步优化和运行这个应用。

  1. 修改pom.xml文件:添加Spring Web依赖,以便创建Web应用。
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
  1. 创建控制器:在src/main/java目录下创建一个控制器类,例如HelloController.java
package com.example.hello;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}
  1. 运行应用:在命令行中,运行以下命令来启动应用。
mvn spring-boot:run

运行第一个Spring Boot应用

Spring Boot应用的启动非常简单。在命令行中输入以下命令:

mvn spring-boot:run

这会启动应用,并在控制台中输出应用的启动信息。默认情况下,应用会在http://localhost:8080/处监听HTTP请求。

检查应用是否正确运行

打开浏览器,访问http://localhost:8080/。如果能看到“Hello, Spring Boot!”的信息,则说明应用已经成功启动。

Spring Boot项目结构解析

Spring Boot项目的基本结构

Spring Boot项目的基本结构如下:

src
└── main
    ├── java
    │   └── com
    │       └── example
    │           └── hello
    │               ├── HelloApplication.java
    │               └── HelloController.java
    └── resources
        ├── application.properties
        └── static
            └── index.html
  • HelloApplication.java:主类,启动Spring Boot应用。
  • HelloController.java:控制器类,处理HTTP请求。
  • application.properties:应用配置文件。
  • static目录:静态资源目录,如HTML、CSS、JavaScript文件。
  • index.html:主页,当用户访问http://localhost:8080/时显示的内容。

主配置类的理解

主配置类通常是一个带有@SpringBootApplication注解的Java类。该注解是Spring Boot的核心注解,提供了@Configuration@EnableAutoConfiguration@ComponentScan的功能。

  • @Configuration:表示该类是配置类,可以包含@Bean方法。
  • @EnableAutoConfiguration:启用自动配置功能。
  • @ComponentScan:扫描主类所在的包及其子包中的组件。

例如:

package com.example.hello;

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

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

配置文件详解

Spring Boot支持多种配置文件,包括application.propertiesapplication.yml。这些配置文件用于定义应用的属性,如数据库连接、服务器端口等。

例如,在application.properties中定义一个服务器端口:

server.port=8081

这会将应用的监听端口设置为8081。

创建Web应用

添加Spring Web依赖

在上一节中,我们已经在pom.xml文件中添加了Spring Web依赖。以下是完整的pom.xml配置:

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

创建控制器和路由

控制器类处理HTTP请求,并返回HTTP响应。在控制器类中,可以使用@Controller@RestController注解来标记该类为控制器。

例如,创建一个名为HelloController的控制器类:

package com.example.hello;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/")
    public String hello() {
        return "Hello, Spring Boot!";
    }

    @GetMapping("/hello/{name}")
    public String helloName(@PathVariable String name) {
        return "Hello, " + name + "!";
    }
}

在上述代码中,@RestController注解用于标记控制器类。@GetMapping("/")@GetMapping("/hello/{name}")注解定义了一个映射到根路径和带参数路径的GET请求处理器方法。

使用Thymeleaf模板引擎

Thymeleaf是一个用于Web和独立环境的现代模板引擎。它可以用于生成HTML、XML、JavaScript、CSS等文本。在Spring Boot中,可以使用Thymeleaf来生成动态HTML页面。

  1. 添加Thymeleaf依赖:在pom.xml文件中添加Thymeleaf依赖。
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
</dependencies>
  1. 创建动态HTML页面:在src/main/resources/templates目录下创建一个名为hello.html的HTML文件。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Hello, World!</title>
</head>
<body>
    <h1 th:text="'Hello, ' + ${message} + '!'"></h1>
</body>
</html>
  1. 更新控制器:修改控制器类,使其返回Thymeleaf模板。
package com.example.hello;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.ui.Model;

@RestController
public class HelloController {
    @GetMapping("/")
    public String hello(Model model) {
        model.addAttribute("message", "Hello, Spring Boot!");
        return "hello";
    }
}

在上述代码中,hello方法返回了一个名为hello的模板名,Thymeleaf模板引擎会根据这个模板名渲染页面。

部署与运行

打包Spring Boot应用

  1. 打包应用:使用Maven命令打包应用。
mvn clean package

这会生成一个名为hello-spring-boot-1.0.0.jar的JAR文件。

  1. 运行打包后的应用:可以使用以下命令运行打包后的应用。
java -jar target/hello-spring-boot-1.0.0.jar

部署到Tomcat或Jetty

  1. 部署到Tomcat

    • 将打包后的JAR文件放到Tomcat的webapps目录下。
    • 修改Tomcat的server.xml文件,添加一个新应用的定义。
    • 启动Tomcat服务器,访问应用。
  2. 部署到Jetty
    • 下载并安装Jetty。
    • 使用Jetty的命令行工具启动应用。

例如,使用Jetty的jetty-runner命令运行应用:

java -jar target/hello-spring-boot-1.0.0.jar --server.port=8081

使用Docker部署Spring Boot应用

  1. 创建Dockerfile:在项目根目录下创建一个名为Dockerfile的文件。
FROM openjdk:17-jdk-alpine
COPY target/hello-spring-boot-1.0.0.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
  1. 构建Docker镜像:使用以下命令构建Docker镜像。
docker build -t hello-spring-boot .
  1. 运行Docker镜像:使用以下命令运行Docker镜像。
docker run -p 8080:8080 hello-spring-boot

这会将应用运行在一个Docker容器中,并将容器的8080端口映射到主机的8080端口。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消