SpringBoot快速入门及起步依赖解析(实例详解)

SpringBoot快速入门及起步依赖解析

SpringBoot是一个快速构建基于Spring的应用程序的框架。在本文中,我们将为您介绍如何快速入门以及如何使用起步依赖项。

快速入门

在使用SpringBoot之前,我们需要首先配置Maven或者Gradle来构建我们的应用程序。这里我们以Maven为例。

  1. 创建一个maven项目

使用Maven创建一个新项目,输入以下命令:

mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=demo \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false

在此处groupIdartifactId分别代表项目的组ID和模块ID,可以替换为你自己的。

  1. 导入SpringBoot依赖

在您的pom.xml文件中添加以下SpringBoot依赖项:

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

这是一个最小的SpringBoot依赖项,不包含任何其他模块。您可以通过添加其他起步依赖项来扩展它,我们将在下一部分介绍起步依赖项。

  1. 创建一个SpringBoot应用程序

创建一个简单的Spring Boot应用程序。在您的src/main/java目录下,创建一个名为DemoApplication.java的新文件,内容如下:

@SpringBootApplication
public class DemoApplication {

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

}

在此处,使用@SpringBootApplication注释指示SpringBoot应用程序的入口点,并使用SpringApplication.run()方法启动该应用程序。

  1. 运行应用程序

使用以下命令运行Spring Boot应用程序:

mvn spring-boot:run

现在,您可以通过浏览器访问http://localhost:8080/ 来查看您的应用程序。您将看到一个自动生成的“Whitelabel Error Page”,这表明SpringBoot应用程序已成功启动。

起步依赖解析

Spring Boot起步依赖项是一组预定义的依赖项,用于支持特定功能的开箱即用功能。它们使用Maven或Gradle自动解析,因此您无需重新发明车轮就可以使用它们来添加所需的功能。

以下是一些常见的Spring Boot起步依赖项:

  • spring-boot-starter: 最基本的Spring Boot依赖项,包括核心Spring框架,Spring Boot自动配置和日志记录。
  • spring-boot-starter-web: 支持Web应用程序的依赖项,包括Spring MVC,Tomcat和其他Web技术。
  • spring-boot-starter-test: 包含用于测试Spring Boot应用程序的依赖项,包括JUnit,Hamcrest和Mockito。
  • spring-boot-starter-data-jpa: 包含JPA和Hibernate支持的依赖项。
  • spring-boot-starter-data-mongodb: 包含MongoDB支持的依赖项。
  • spring-boot-starter-security: 包含Spring Security支持的依赖项。

您可以在这里官方文档中找到完整的起步依赖项清单。

示例

使用SpringBoot创建RESTful API

我们将以一个非常简单的Spring Boot应用程序为例,创建一个RESTful API来显示“Hello,World!” 的消息。

  1. 导入必要的依赖项

在您的pom.xml文件中添加以下依赖项:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  1. 创建一个控制器

在您的src/main/java目录下,创建一个名为HelloController.java的新文件,内容如下:

@RestController
public class HelloController {

   @RequestMapping("/")
   public String index() {
      return "Hello, World!";
   }

}

在此处,我们定义了一个名为HelloController的控制器类,使用@RestController注解将其标记为控制器,并定义了一个名为index()的请求处理程序,该程序仅返回Hello, World!字符串。

  1. 运行应用程序

使用以下命令运行Spring Boot应用程序:

mvn spring-boot:run

现在,您可以通过浏览器访问http://localhost:8080/ ,看到“Hello,World!”的消息。

使用SpringBoot连接到MySQL数据库

在本例中,我们将创建一个简单的Spring Boot应用程序,以连接到MySQL数据库并执行一个简单的查询。

  1. 导入必要的依赖项

在您的pom.xml文件中添加以下依赖项:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <scope>runtime</scope>
</dependency>

在此处,我们使用spring-boot-starter-jdbc启动器依赖项和mysql-connector-java包来连接到MySQL数据库。

  1. 配置应用程序

在您的application.properties文件中添加以下内容:

spring.datasource.url=jdbc:mysql://localhost:3306/exampledb
spring.datasource.username=root
spring.datasource.password=passw0rd

在此处,我们定义了我们的数据库URL,用户名和密码。

  1. 创建一个数据访问类

在您的src/main/java目录下,创建一个名为DemoApplication.java的新文件,并添加以下内容:

@Component
public class DemoJdbc {

   @Autowired
   JdbcTemplate jdbcTemplate;

   public void runDemo() {
      List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM user");
      for (Map<String, Object> row : result) {
         System.out.println(row.get("name") + " " + row.get("email"));
      }
   }

}

在此处,我们定义了一个DemoJdbc类,它使用了@Component注解,它表示这个类要被Spring自动管理。它还包含JdbcTemplate的实例,通过使用JdbcTemplate,我们可以轻松地执行SQL查询。这里我们简单地执行一个简单的查询,并输出结果。

  1. 运行应用程序

使用以下命令运行Spring Boot应用程序:

mvn spring-boot:run

现在,您应该可以看到结果,显示来自MySQL数据库中“user”表的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot快速入门及起步依赖解析(实例详解) - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 三道java新手入门面试题,通往自由的道路–锁+Volatile

    三道Java新手入门面试题攻略 一、什么是锁? 锁是一种同步机制,用于控制多个线程对共享资源的访问。当多个线程试图访问同一共享资源时,可能会导致数据不一致或者其他问题,而锁就可以保证同一时刻只有一个线程访问该共享资源,避免多线程并发访问发生问题。 Java提供了两种锁机制:synchronized关键字和Lock接口。 synchronized关键字 syn…

    Java 2023年5月19日
    00
  • 在Java8中如何避开空指针异常

    在Java8中,可以通过使用Optional类来避免空指针异常,Optional类是一个可以包含null或非null值的容器对象,在进行操作时可以先检查它是否为空,避免了程序出现NullPointerException异常的情况。下面我们来详细讲解如何使用Optional类避免空指针异常。 使用Optional类 创建Optional对象 可以使用ofNul…

    Java 2023年5月27日
    00
  • java编写的文件管理器代码分享

    下面是“Java编写的文件管理器代码分享”的完整攻略: 一、介绍 Java是一门广泛使用的编程语言,其编写出的程序可运行在不同操作系统的计算机上,具有很强的跨平台性。在Java中,我们可以使用java.io包中的类来处理文件和文件夹,并实现一个简单的文件管理器。 二、文件管理器基本功能 一个基本的文件管理器应该具有以下功能: 列出文件夹中的所有文件和子文件夹…

    Java 2023年5月20日
    00
  • JSP由浅入深(9)—— JSP Sessions

    下面是关于 JSP Sessions 的完整攻略。 什么是 JSP Sessions 在学习 JSP 开发过程中,我们经常需要存储一些用户的数据,比如用户的登录信息、购物车中的商品、用户的浏览记录等等。这些数据需要在不同的页面之间传递或者在同一个页面中进行共享。而 JSP Sessions 就是一种实现数据共享的技术。 Session 在 JSP 中是一个用…

    Java 2023年6月15日
    00
  • IDEA整合SSM框架实现网页上显示数据

    下面我为你详细讲解“IDEA整合SSM框架实现网页上显示数据”的完整攻略。 简介 SSM框架是目前Java Web开发中最流行的框架之一,它包含Spring、SpringMVC和MyBatis三大框架,其中Spring负责类似于IOC(控制反转)、AOP(面向切面编程)等基本功能,SpringMVC负责Web层的处理,MyBatis则负责持久层的管理。IDE…

    Java 2023年6月15日
    00
  • Java Hibernate对象(瞬时态,持久态,脱管态)详解

    下面我就来详细讲解“Java Hibernate对象(瞬时态,持久态,脱管态)详解”的完整攻略。 瞬时态 所谓瞬时态,是指一个Java对象没有与任何一个Session相关联,因此它没有被Hibernate所管理。简单来说,它是一个普通的Java对象,只是它可能映射到数据库中的某张表,并且在未来有可能被持久化。但是由于它没有与Session相关联,因此Hibe…

    Java 2023年5月20日
    00
  • Spring MVC 前端控制器 (DispatcherServlet)处理流程解析

    Spring MVC 前端控制器 (DispatcherServlet)处理流程解析 前端控制器 (DispatcherServlet) 简介 Spring MVC是一个基于MVC架构的Web框架,它的核心是前端控制器 (DispatcherServlet)。前端控制器是一个Servlet,它是整个Spring MVC框架的核心,负责接收所有的请求,并将请求…

    Java 2023年5月17日
    00
  • java7 新I/O知识点详解

    Java7 新 I/O 知识点详解 介绍 Java7 引入了一些新的 I/O(输入输出)特性,主要是为了优化文件 I/O 操作,使之更加高效和灵活。其中主要包括以下几个方面: 支持异步 I/O 操作的 NIO API 支持读取和写入字符串的 NIO API 自动资源管理(ARM)特性,即 try-with-resources 操作 文件系统的改进 下面将分别…

    Java 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部