SpringBoot实战教程之新手入门篇

SpringBoot实战教程之新手入门篇攻略

SpringBoot是一种快速开发、简化配置的Java框架。它集成了常用的开发工具,如SpringMVC、Hibernate、MyBatis等,能够帮助开发人员快速搭建Java Web项目。本篇攻略将介绍学习SpringBoot的入门教程。

1. 安装Java和IDE

在开始学习SpringBoot之前,需要先安装Java和一个开发工具。推荐使用JDK8及以上版本,如Oracle JDK或OpenJDK等。同时,也需要安装一个Java IDE,如Eclipse、IntelliJ IDEA、NetBeans等。

2. 创建新的SpringBoot项目

使用IDE创建新的SpringBoot项目,可以直接使用Spring Initializr构建项目,也可以手动配置项目。具体步骤如下:

  • 使用Spring Initializr
  • 在IDE中点击File -> New -> Spring Starter Project
  • 在弹出的对话框中输入项目名称和包名,选择项目类型,如Maven或Gradle,并勾选所需的依赖库
  • 点击OK按钮,等待IDE自动生成项目结构和配置文件
  • 手动配置项目
  • 创建Maven或Gradle项目
  • 添加所需依赖库,如Spring Boot Starter Web、Spring Boot Starter Thymeleaf等
  • 配置项目启动类和application.properties或application.yml等配置文件
3. 编写控制器

在SpringBoot项目中编写控制器,可以通过注解方式实现,如使用@Controller或@RestController注解。具体示例代码如下:

@RestController
public class HelloWorldController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

上述代码中,使用@GetMapping注解将“/hello”路径映射到hello()方法上,当用户访问“http://localhost:8080/hello”时,会返回“Hello, World!”。

4. 运行SpringBoot项目

使用IDE运行SpringBoot项目,可以直接运行主程序或使用Maven或Gradle命令。具体示例代码如下:

  • 使用IDE运行
  • 右键点击主程序,选择Run As -> Java Application或Spring Boot App等
  • 使用Maven命令
  • 打开命令行窗口,进入项目根目录
  • 输入“mvn spring-boot:run”命令
  • 使用Gradle命令
  • 打开命令行窗口,进入项目根目录
  • 输入“gradle bootRun”命令

运行成功后,在浏览器中访问“http://localhost:8080/hello”,即可看到“Hello, World!”的返回结果。

示例一:

下面我们以实现一个简单的计算器Web应用为例,来演示如何使用SpringBoot。

首先,我们需要在Spring Initializr中增加依赖:

  • Spring Boot Starter Web

然后,我们创建如下的Controller:

@RestController
public class CalculatorController {

  @GetMapping("/add/{a}/{b}")
  public int add(@PathVariable("a") int a, @PathVariable("b") int b){
    return a+b;
  }
  @GetMapping("/minus/{a}/{b}")
  public int minus(@PathVariable("a") int a, @PathVariable("b") int b){
    return a-b;
  }
  @GetMapping("/multiply/{a}/{b}")
  public int multiply(@PathVariable("a") int a, @PathVariable("b") int b){
    return a*b;
  }
  @GetMapping("/divide/{a}/{b}")
  public int divide(@PathVariable("a") int a, @PathVariable("b") int b){
    return a/b;
  }
}

在上面的代码中定义了4个接口,分别对应加法、减法、乘法和除法运算。@RestController注解表示这是一个Restful服务类。@GetMapping注解表示这个方法接受HTTP的GET请求,并且将“/add”、”/minus”等路径映射到对应的方法上。@PathVariable("a")表示获取URL路径中的参数a。

最后,我们运行这个SpringBoot应用,并在浏览器中测试接口。

  • http://localhost:8080/add/10/20
  • http://localhost:8080/minus/20/10
  • http://localhost:8080/multiply/10/20
  • http://localhost:8080/divide/20/10

分别访问上面4个URL,可以得到相应的结果:30、10、200、2

示例二:

下面我们以实现一个简单的用户管理Web应用为例,来演示如何使用SpringBoot。

首先,我们需要在Spring Initializr中增加依赖:

  • Spring Boot Starter Web
  • Spring Boot Starter JPA
  • MySQL Driver

然后,我们创建如下的User实体类:

@Entity
@Table(name = "user")
public class User {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  @Column(nullable = false, unique = true)
  private String name;

  @Column(nullable = false)
  private Integer age;

  protected User() {
  }

  public User(String name, Integer age) {
    this.name = name;
    this.age = age;
  }

  // get and set methods...
}

在上面的代码中,@Entity注解表示这是一个实体类,会被JPA框架持久化到数据库中。@Table注解表示将实体类映射到数据库表“user”上。@Id和@GeneratedValue注解表示这是主键,并且采用自增方式生成。

然后,我们创建如下的UserController:

@RestController
@RequestMapping("/users")
public class UserController {

  @Autowired
  private UserRepository userRepository;

  @GetMapping("")
  public Iterable<User> getAllUsers() {
    return userRepository.findAll();
  }

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

  @PostMapping("")
  public User addUser(@RequestBody User user) {
    return userRepository.save(user);
  }

  @PutMapping("/{id}")
  public User updateUser(@PathVariable Long id, @RequestBody User user) {
    if (user.getId() == null) {
      user.setId(id);
    }
    return userRepository.save(user);
  }

  @DeleteMapping("/{id}")
  public void deleteUser(@PathVariable Long id) {
    userRepository.deleteById(id);
  }
}

在上面的代码中,使用@RestController注解表示这是一个Restful服务类。@RequestMapping("/users")注解表示该类下的所有方法将处理“/users”路径下的请求。@Autowired注解表示注入UserRepository对象用于数据库操作。@GetMapping、@PostMapping、@PutMapping和@DeleteMapping注解分别表示处理GET、POST、PUT和DELETE请求。@RequestBody注解表示该方法的参数是通过HTTP请求主体传递的数据。@PathVariable注解表示获取URL路径中的参数id。

最后,我们运行这个SpringBoot应用,并在浏览器中测试接口。

  • GET http://localhost:8080/users
  • GET http://localhost:8080/users/1
  • POST http://localhost:8080/users { "name": "test", "age": 20 }
  • PUT http://localhost:8080/users/1 { "id": 1, "name": "test1", "age": 30 }
  • DELETE http://localhost:8080/users/1

分别访问上面5个URL,可以得到相应的结果:所有用户信息、ID为1的用户信息、添加用户成功、更新用户成功、删除用户成功。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot实战教程之新手入门篇 - Python技术站

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

相关文章

  • spring结合struts的代码详解

    下面我来详细讲解“spring结合struts的代码详解”的完整攻略。 一、结合Spring和Struts的优势 使用Spring结合Struts开发Web应用程序,最主要的优点就是能够将Struts的ActionBean实例管理交由Spring容器,使得我们能够在ActionBean中自动注入Spring容器中的Bean,从而更加方便和灵活地开发Web应用…

    Java 2023年5月20日
    00
  • Java DriverManager.getConnection()获取数据库连接

    Java中获取数据库连接最常用的方式就是使用DriverManager类提供的getConnection静态方法,getConnection需要传递3个参数,分别为url、username和password。 其中,url参数用于指定连接的数据库、连接字符串,比如 “jdbc:mysql://localhost:3306/test”,表示连接本地3306端口…

    Java 2023年5月19日
    00
  • Java Date类常用示例_动力节点Java学院整理

    Java Date类常用示例攻略 什么是Date类 在Java中,Date类是一个代表日期和时间的类,用来表示一个固定的日期或时间点。 Date类的构造方法 Date():用当前日期和时间构造一个Date对象。 Date(long date):用一个标准的毫秒数来构造一个Date对象。 Date(int year, int month, int date):…

    Java 2023年5月20日
    00
  • json原理分析及实例介绍

    JSON原理分析及实例介绍 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,可读性强,易于阅读和编写。相较于XML,它更加简洁,结构清晰,传输效率更高,被广泛应用于Web前端和后端的数据交互。 JSON数据以键值对的形式组合而成,通过逗号分隔。其中,键必须是字符串类型,而值则可以是字符串、数字、布尔…

    Java 2023年5月26日
    00
  • 基于EJB技术的商务预订系统的开发

    开发基于EJB技术的商务预订系统可以分为以下几个步骤: 1. 需求分析和系统设计 在需求分析和系统设计阶段,需要考虑以下因素: 系统的功能需求,例如用户登录、商品展示、购物车管理、订单管理、支付管理等; 系统的性能需求,例如用户并发量、数据处理量、响应时间、可靠性等; 系统的架构设计,例如服务器端容器的选择、数据库的设计、系统的分层设计等。 示例1:用户登录…

    Java 2023年6月15日
    00
  • Spring Boot项目使用Flyway的详细教程

    当我们开发Spring Boot项目时,我们通常需要在数据库中创建各种数据表、视图等数据结构。随着项目的迭代,这些数据结构往往需要不断地进行更新、迁移、升级等操作。为了方便地管理这些数据库变更,我们可以使用Flyway工具来进行数据库迁移管理。下面是一份详细的Spring Boot项目使用Flyway的教程。 安装和配置Flyway 在Spring Boot…

    Java 2023年5月26日
    00
  • knife4j3.0.3整合gateway和注册中心的详细过程

    本攻略将详细讲解如何将knife4j3.0.3整合gateway和注册中心的过程。整合后,可以让我们的服务更加方便地管理和维护。下面将分步骤进行讲解。 安装gateway和注册中心 首先,我们需要安装gateway和注册中心,推荐使用Spring Cloud Gateway和Nacos作为gateway和注册中心。具体安装过程可以参考官方文档。 安装完成后,…

    Java 2023年5月19日
    00
  • spring控制事务的三种方式小结

    让我为您详细讲解一下“spring控制事务的三种方式小结”。 什么是事务 在介绍 Spring 的事务管理之前,我们需要先了解一下什么是事务。在数据库中,事务是指一组数据库操作,它们要么全部执行,要么全部不执行,是一个不可分割的工作单元。如果其中任意一条操作失败,那么整个事务就会被回滚,也就是所有已经提交的操作都会被回滚,回到事务开始前的状态。 Spring…

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