运用springboot搭建并部署web项目的示例

下面是运用Spring Boot搭建并部署web项目的完整攻略,包含两个示例。

1. 搭建Spring Boot项目

1.1 安装Maven

首先,我们需要安装Maven,来管理项目依赖和构建。安装方法可以参考Maven官方文档

1.2 创建Spring Boot项目

使用Maven创建一个Spring Boot项目,可以先在命令行中执行以下命令:

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

这会创建一个名为“myproject”的项目,其中已经包含了一个简单的Spring Boot应用程序的基本结构。

1.3 编写Controller类

在src/main/java/com/example/myproject包中,创建一个名为“GreetingController”的类,代码如下:

package com.example.myproject;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingController {

    @RequestMapping("/greeting")
    public String greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
        return "Hello, " + name + "!";
    }
}

1.4 编写应用程序主类

在src/main/java/com/example/myproject包中创建一个名为“Application”的类,作为应用程序的主类,并添加以下内容:

package com.example.myproject;

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

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

1.5 运行应用程序

确保在项目根目录下执行以下命令:

$ mvn spring-boot:run

这将启动应用程序,并在浏览器中访问http://localhost:8080/greeting?name=User。你会看到“Hello, User!”的输出。

2. 部署Spring Boot项目

2.1 配置War插件

默认情况下,Spring Boot应用是作为独立的可执行jar包运行的。但是,为了能够部署到应用服务器(如Tomcat),我们需要将其打包成一个war包。为此,我们需要在项目的pom.xml文件中添加以下内容:

<packaging>war</packaging>

同时,我们还需要在pom.xml的build节点中添加以下内容:

<plugins>
    <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
    </plugin>
</plugins>

这会配置Maven来支持War打包。

2.2 打包并部署

打包

执行以下命令打包项目:

$ mvn clean package

这将生成“myproject-0.0.1-SNAPSHOT.war”文件。

部署

将“myproject-0.0.1-SNAPSHOT.war”文件复制到Tomcat的webapps目录下,并启动Tomcat服务器。接着,在浏览器中访问:http://localhost:8080/myproject-0.0.1-SNAPSHOT/greeting?name=User。你将看到“Hello, User!”的输出。

示例一

介绍如何开发一个Spring Boot中的Web应用程序,该程序通过REST服务与客户端进行通信。

1. 创建Spring Boot项目

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

2. 安装所需依赖

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

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

3. 创建一个Controller类

在src/main/java/com/example/restservice目录下创建一个名为“GreetingController”的类,具体代码如下:

package com.example.restservice;

import java.util.concurrent.atomic.AtomicLong;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    @RequestMapping("/greeting")
    public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
        return new Greeting(counter.incrementAndGet(), String.format(template, name));
    }
}

4. 定义一个POJO

在src/main/java/com/example/restservice目录下创建一个名为“Greeting”的POJO类,具体代码如下:

package com.example.restservice;

public class Greeting {
    private final long id;
    private final String content;

    public Greeting(long id, String content) {
        this.id = id;
        this.content = content;
    }

    public long getId() {
        return id;
    }

    public String getContent() {
        return content;
    }
}

5. 运行应用程序

$ mvn spring-boot:run

在浏览器中访问http://localhost:8080/greeting?name=User。你会看到“Hello, User!”的输出。

示例二

介绍如何使用Spring Boot和JDBC来访问数据库,并展示如何编写一个具有REST API的简单Web应用程序。

1. 创建Spring Boot项目

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

2. 安装所需依赖

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

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

3. 配置数据库

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

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

其中,“mydatabase”是您要连接的实际数据库。

4. 创建DAO

在src/main/java/com/example/jdbcdemo目录下创建一个名为“Customer”的POJO类,同时创建一个名为“CustomerDAO”的接口和一个名为“JdbcCustomerDAO”的实现类(实现JdbcTemplate来访问数据库),代码如下:

package com.example.jdbcdemo;

public class Customer {
    private long id;
    private String firstName;
    private String lastName;

    public Customer() {}

    public Customer(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    // getters/setters省略
}

public interface CustomerDAO {
    List<Customer> list();
    void create(Customer customer);
    void delete(long id);
}

@Repository
public class JdbcCustomerDAO implements CustomerDAO {

    private JdbcTemplate jdbcTemplate;

    @Autowired
    public JdbcCustomerDAO(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    @Override
    public List<Customer> list() {
        String sql = "SELECT id, first_name, last_name FROM customers";
        List<Customer> customers = new ArrayList<>();
        jdbcTemplate.query(sql, (rs, rowNum) -> new Customer(rs.getLong("id"), rs.getString("first_name"), rs.getString("last_name")))
                .forEach(customer -> customers.add(customer));
        return customers;
    }

    @Override
    public void create(Customer customer) {
        String sql = "INSERT INTO customers (first_name, last_name) VALUES (?, ?)";
        jdbcTemplate.update(sql, customer.getFirstName(), customer.getLastName());
    }

    @Override
    public void delete(long id) {
        String sql = "DELETE FROM customers WHERE id = ?";
        jdbcTemplate.update(sql, id);
    }
}

5. 创建Controller

在src/main/java/com/example/jdbcdemo目录下创建一个名为“CustomerController”的类,代码如下:

package com.example.jdbcdemo;

@RestController
@RequestMapping("/customers")
public class CustomerController {

    private final CustomerDAO dao;

    @Autowired
    CustomerController(CustomerDAO dao) {
        this.dao = dao;
    }

    @GetMapping("/")
    public List<Customer> listCustomers() {
        return dao.list();
    }

    @PostMapping("/")
    public void createCustomer(@RequestBody Customer customer) {
        dao.create(customer);
    }

    @DeleteMapping("/{id}")
    public void deleteCustomer(@PathVariable long id) {
        dao.delete(id);
    }
}

6. 运行应用程序

$ mvn spring-boot:run

在浏览器中访问http://localhost:8080/customers。你将看到一个空白数组,因为没有客户数据。接着,在Postman中发送POST请求,调用createCustomer方法,请求数据如下:

{
    "firstName" : "John",
    "lastName" : "Doe"
}

然后,在Postman中发送GET请求,调用listCustomers方法,你将看到添加的客户列表。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:运用springboot搭建并部署web项目的示例 - Python技术站

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

相关文章

  • jdk1.8 LocalTime、LocalDate、LocalDateTime 使用大全

    目录 LocalTime、LocalDate、LocalDateTime 区别 LocalTime、LocalDate、LocalDateTime 使用 now 获取当前 时刻、日期、时间 of 获取指定 时刻、日期、时间 plus || minus 增加或者减少 更改指定的 时间 isAfter || isBefore 比较大小 compareTo 时间比…

    Java 2023年4月22日
    00
  • Java中的AssertionError是什么?

    AssertionError是Java标准库中的一个类,它继承自Error,被用于表示一个断言失败的情况。当条件表达式为false时,程序会抛出AssertionError异常,表达式的结果将由assert语句检查。assert语句通常用于编程中的测试和调试阶段,旨在确保程序的正确性和可靠性。 Assertion语法和示例说明 以下是在Java语言中使用As…

    Java 2023年4月27日
    00
  • Java如何使用httpclient检测url状态及链接是否能打开

    下面是Java如何使用httpclient检测url状态及链接是否能打开的完整攻略。 1. 概述 在Java中,我们可以使用Apache HttpClient库来实现检测URL状态以及链接能否打开的功能,在使用HttpClient进行URL检测之前,需要导入相关的包和依赖,具体可以在Maven或者Gradle中添加以下依赖: <!–HttpClien…

    Java 2023年5月19日
    00
  • Java后缀数组之求sa数组的实例代码

    Java后缀数组是一种经典的字符串匹配算法,可以实现快速求解字符串的后缀数组(sa数组)。下面我们将介绍如何在Java中编写求解sa数组的实例代码。 步骤一:构造后缀数组 首先我们需要准备一个包含原始字符串所有后缀的数组(称为“后缀数组”)。这个数组的元素类型为Suffix,其中Suffix类的定义如下: class Suffix implements Co…

    Java 2023年5月26日
    00
  • Java毕业设计实战项目之仓库管理系统的实现流程

    Java毕业设计实战项目之仓库管理系统的实现流程 设计思路 仓库管理系统是专门为仓库管理员和工作人员设计的一款开发系统。该系统主要分为登录模块、货物管理模块、采购管理模块、销售管理模块、仓库管理模块和系统管理模块。 登录模块:用户可以通过用户名和密码进行登录,进入仓库管理系统的主界面。 货物管理模块:负责对仓库中的所有货物的信息进行管理,包括货物的编号、名称…

    Java 2023年5月24日
    00
  • 如何使用nexus在局域网内搭建maven私服及idea的使用

    下面是如何使用nexus在局域网内搭建maven私服及idea的使用的完整攻略。 准备工作 在开始搭建maven私服前,需要先准备以下内容: 安装Java环境。 下载nexus并进行安装。 配置maven的settings.xml文件,将本地的仓库与nexus私服进行关联。 搭建maven私服 下载并安装nexus 首先,我们需要从nexus官网 https…

    Java 2023年5月20日
    00
  • 在Win10上安装Tomcat服务器及配置环境变量的详细教程(图文)

    在Win10上安装Tomcat服务器及配置环境变量的详细教程: 准备工作 官方网站下载Tomcat服务器压缩文件,例如tomcat-8.5.57.tar.gz 安装JDK,推荐版本为JDK8或JDK11,JDK11及以上版本,Tomcat需版本在9及以上 确认JDK环境变量已配置 安装Tomcat 解压Tomcat服务器压缩文件到指定目录。例如,将压缩文件解…

    Java 2023年5月19日
    00
  • Java毕业设计实战之平行志愿管理系统的实现

    Java毕业设计实战之平行志愿管理系统的实现 一、前言 学习 Java 语言可以说是计算机专业必修的课程,也是众多计算机专业学生的热门课程之一。而毕业设计这一任务则是考核学生对所学课程的掌握程度以及综合运用的能力,于是一个好的毕业设计题目尤为重要,而平行志愿管理系统则是一个非常不错的选择。 二、系统要求 设计一个平行志愿管理系统,管理员登录后可以对平行志愿的…

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