SpringBoot框架搭建教程分享

SpringBoot框架搭建教程分享

SpringBoot是基于Spring框架的一种快速构建Java应用程序的开源框架。它为Java开发者提供了一种简单快速的方式来构建强大的Java应用程序。在本篇文章中,我们将会详细讲解如何使用SpringBoot搭建一个Java应用程序,并提供两个示例说明帮助大家更加深入的学习和理解。

第一部分:基础框架搭建

在进行SpringBoot框架搭建之前,我们需要先准备好开发环境。具体如何安装Java开发环境和Maven这里不再赘述,如果还不了解的同学可以自己去查找相关资料进行学习。

  1. 创建Maven项目

首先我们需要在开发环境中新建一个Maven项目。打开命令行窗口,输入以下命令:

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

这个命令会创建一个名为demo的Maven项目。其中,-DgroupId指的是项目的组ID,-DartifactId指的是项目的ID,-DarchetypeArtifactId指的是使用的maven原型ID。执行完命令后,会在当前目录下创建一个名为demo的目录,里面包含了一个最简单的Maven项目。

  1. 导入SpringBoot相关依赖

我们需要在项目中添加SpringBoot相关的依赖,具体如下:

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

在pom.xml中添加以上依赖后,保存文件并刷新Maven即可。

  1. 编写SpringBoot应用程序代码

现在我们需要编写一个最简单的SpringBoot应用程序。具体如下:

@SpringBootApplication
@RestController
public class DemoApplication {

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

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

}

在这个代码中,我们使用了@SpringBootApplication注解来标记这是一个SpringBoot应用程序,并使用@RestController注解来标记这是一个Web控制器。该Web控制器会接收根路径("/")的请求,并返回"Hello World!"。

  1. 运行SpringBoot应用程序

最后一步是运行你的SpringBoot应用程序。在命令行窗口中输入以下命令:

mvn spring-boot:run

这个命令会启动SpringBoot应用程序,并在8080端口上监听请求。现在你可以在浏览器中输入http://localhost:8080/来访问你的应用程序了。

第二部分:集成MySQL数据库

在上一部分中,我们创建了一个最简单的SpringBoot应用程序。现在我们要学习如何将这个应用程序集成MySQL数据库。

  1. 添加MySQL JDBC驱动

在pom.xml中添加以下依赖来添加MySQL JDBC驱动:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

在添加依赖后,保存文件并刷新Maven即可。

  1. 编写数据源配置文件

在application.properties文件中添加以下数据源配置:

spring.datasource.url = jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver

在这个配置文件中,我们使用了MySQL数据库,并配置了数据库的URL、用户名和密码。

  1. 创建实体类和持久层

在我们开始写代码之前,我们需要先创建一个实体类来表示数据库中的一条记录。具体如下:

@Entity
public class User {
    @Id
    @GeneratedValue
    private Long id;
    private String name;
    private Integer age;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

接下来我们需要创建一个声明式事务的Repository,具体如下:

@Repository
@Transactional
public interface UserRepository extends JpaRepository<User, Long> {

}

在这个代码中,我们使用了JpaRepository来简化代码。这个接口提供了很多常用方法的实现,如查询、更新、分页等。

  1. 编写Service和Controller层代码

在我们已经定义好了实体类和Repository之后,接下来我们就可以开始编写Service和Controller层代码了。具体如下:

UserServiceImpl.java

@Service
@Transactional
public class UserServiceImpl implements UserService {
    @Autowired
    private UserRepository userRepository;

    @Override
    public void save(User user) {
        userRepository.save(user);
    }

    @Override
    public void update(User user) {
        userRepository.save(user);
    }

    @Override
    public void delete(Long id) {
        userRepository.deleteById(id);
    }

    @Override
    public User findById(Long id) {
        Optional<User> user = userRepository.findById(id);
        return user.orElse(null);
    }

    @Override
    public List<User> findAll() {
        return userRepository.findAll();
    }
}

UserController.java

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/save")
    public String save(@RequestBody User user) {
        userService.save(user);
        return "success";
    }

    @PutMapping("/update")
    public String update(@RequestBody User user) {
        userService.update(user);
        return "success";
    }

    @DeleteMapping("/delete/{id}")
    public String delete(@PathVariable Long id) {
        userService.delete(id);
        return "success";
    }

    @GetMapping("/findById/{id}")
    public User findById(@PathVariable Long id) {
        return userService.findById(id);
    }

    @GetMapping("/findAll")
    public List<User> findAll() {
        return userService.findAll();
    }
}
  1. 测试代码

最后一步是测试代码。我们可以使用Postman或其他工具来测试接口是否正常工作。

POST http://localhost:8080/user/save
Content-Type: application/json

{
    "name": "test",
    "age": 20
}

PUT http://localhost:8080/user/update
Content-Type: application/json

{
    "id": 1,
    "name": "updated",
    "age": 21
}

DELETE http://localhost:8080/user/delete/1

GET http://localhost:8080/user/findById/1

GET http://localhost:8080/user/findAll

以上是在SpringBoot中集成MySQL的教程,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot框架搭建教程分享 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 详解JDBC数据库链接及相关方法的封装

    详解JDBC数据库链接及相关方法的封装 JDBC是Java数据库连接的简称,可以用于Java程序中与数据库进行交互。在使用JDBC时,需要连接数据库、执行SQL语句、处理结果集等,具体步骤如下: 步骤1:加载数据库驱动 使用JDBC连接数据库前,需要加载相应的数据库驱动,不同的数据库有不同的驱动类。可以使用Class.forName()方法动态加载驱动。 C…

    Java 2023年6月16日
    00
  • tomcat目录结构简介_动力节点Java学院整理

    Tomcat目录结构简介 Tomcat是常用的Java Web应用服务器,其目录结构是开发和部署Web应用的基础。了解Tomcat目录结构有助于我们更好地管理和维护Web应用。 目录结构说明 以下是Tomcat的目录结构(仅列出常用的几个文件和目录): bin:存放启动Tomcat的脚本(如startup.sh、shutdown.sh等)、catalina.…

    Java 2023年6月2日
    00
  • java8 实现提取集合对象的每个属性

    Java 8中提供了Stream API,可以通过该API实现快速高效的对集合对象的转换和处理。下面是提取集合对象的每个属性的完整攻略。 攻略步骤 创建集合对象 java List<User> userList = new ArrayList<>(); 添加集合元素 java userList.add(new User(“Tom”, …

    Java 2023年5月26日
    00
  • PHP模板引擎SMARTY

    下面我将详细讲解“PHP模板引擎SMARTY”的完整攻略。 什么是SMARTY? SMARTY是一个PHP模板引擎,它使网页和应用程序代码分离,从而使页面逻辑更加清晰和易于维护。SMARTY不是用来代替PHP的,而是在PHP之上提供了一种模板语言,用于管理和构建网页。 SMARTY的优势 SMARTY引擎的优势主要包括: 模板和代码分离:使用SMARTY可以…

    Java 2023年6月15日
    00
  • java 验证用户是否已经登录与实现自动登录方法详解

    下面是关于“java 验证用户是否已经登录与实现自动登录方法详解”的完整攻略: 1. 验证用户是否已经登录 在web应用程序中,用户登录状态验证通常在服务器端进行。验证用户是否已经登录通常是通过以下几个步骤实现: 在登录页面中,用户输入用户名和密码,并提交表单。 将提交的表单数据传到服务器端,并在服务器端与用户信息进行比对。 如果用户信息正确,则将用户的登录…

    Java 2023年6月16日
    00
  • Spring boot集成Mybatis的方法教程

    下面是详细讲解“Springboot集成Mybatis的方法教程”的完整攻略。 简介 Springboot和Mybatis都是非常流行的Java开发框架,它们都非常强大。本文的目的是教你如何在Springboot集成Mybatis,并简单介绍如何使用Mybatis进行数据库操作。 环境准备 在开始教程之前,我们需要准备以下环境: Java开发环境 Maven…

    Java 2023年5月15日
    00
  • Spring Boot实现热部署的五种方式

    以下是详细讲解“Spring Boot实现热部署的五种方式”的完整攻略: 1.使用spring-boot-devtools Spring Boot提供了spring-boot-devtools工具让我们实现热部署。只需要将依赖添加到pom.xml文件中即可。 示例代码如下: 1.添加依赖 <dependency> <groupId>o…

    Java 2023年5月19日
    00
  • java异常处理详细介绍及实例

    Java异常处理详细介绍及实例 什么是Java异常 Java异常是指在程序运行过程中出现的异常事件,例如文件找不到、算数异常、空指针异常等等。在程序中出现异常会导致程序的异常终止,因此程序需要处理这些异常情况。 Java异常的分类 Java异常可以分为两种类型:检查异常和未检查异常。 检查异常 检查异常是指在编译期间就会被检查出来的异常,程序在编译时需要进行…

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