运用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日

相关文章

  • Sprint Boot @ConditionalOnMissingClass使用方法详解

    以下是关于Spring Boot中@ConditionalOnMissingClass的作用与使用方法的完整攻略,包含两个示例: @ConditionalOnMissingClass的作用 @ConditionalOnMissingClass是Spring Boot提供的一个条件注解,用于在类路径中不存在指定的类时才会生效。它可以用于控制Bean的创建和配置…

    Java 2023年5月5日
    00
  • Docker自动部署Apache Tomcat的方法

    Docker是一种容器化技术,它可以让我们更方便地管理和部署应用程序。在这篇攻略中,我将为您介绍如何使用Docker来快速、自动地部署Apache Tomcat容器。 准备工作 在开始之前,您需要先安装好Docker,可以去官网下载相应版本的安装程序,安装完毕后使用以下命令测试是否安装成功: docker –version 如果输出了Docker的版本信息…

    Java 2023年5月19日
    00
  • Javaweb mybatis接口开发实现过程详解

    下面是我对 “Javaweb mybatis接口开发实现过程详解” 的完整攻略,以及包含两条示例。 Javaweb mybatis接口开发实现过程详解 mybatis整合步骤 导入mybatis和数据库驱动:在pom.xml中导入功能需要的依赖包,例如: <dependency> <groupId>org.mybatis</gr…

    Java 2023年5月20日
    00
  • Java调用.dll文件的方法

    下面是Java调用.dll文件的方法的完整攻略: 1. 加载.dll文件 Java调用.dll文件时需要用到Java Native Interface(JNI),这是Java调用本地代码的一种机制。要想调用.dll文件,需要先加载它。在JNI中,可以通过System类的loadLibrary()方法来加载.dll文件。loadLibrary()方法的参数为.…

    Java 2023年5月19日
    00
  • java网上图书商城(9)支付模块

    以下是关于“java网上图书商城(9)支付模块”的完整攻略。 一、支付模块的作用 支付模块是电商网站中不可或缺的重要组成部分,通过对不同的支付方式的集成,使得用户可以方便地完成订单的支付。在该网上图书商城项目中,通过集成支付宝接口,并编写相关代码,实现了用户对订单进行在线支付。 二、支付模块的基本流程 支付模块的基本流程如下: 用户选定商品并提交订单。 系统…

    Java 2023年6月15日
    00
  • Java如何将若干时间区间进行合并的方法步骤

    Java如何将若干时间区间进行合并的方法步骤: 1.首先需要将若干时间区间存储到一个List集合中。时间区间可以使用Java中的Date或LocalDateTime对象来表示,或者使用字符串表示,需要转换为相应的日期对象。 2.对这个区间集合进行排序,按照开始时间升序排序。 3.新建一个结果集合,将第一个区间加入结果集合,用一个current指针指向结果集合…

    Java 2023年5月20日
    00
  • 超细讲解Java调用python文件的几种方式

    恭喜您,这是一个非常有用的话题。在本篇文章中,我们将会深入探讨Java调用Python文件操作的几种方式。下面是完整攻略的具体内容。 1.首选Java调用Python文件的方式:Jython Jython(Java Python)是一种Python解释器,它使用Java语言编写,可以让Python代码在Java环境下运行。Jython具有明显的优势,可以很好…

    Java 2023年5月19日
    00
  • 什么是原子操作?

    原子操作 在计算机系统中,原子操作是一组操作,它们在执行过程中不会被中断,也不会与其他并发执行的操作产生干扰,可以保证执行的完整性和原子性。 原子操作一般都是CPU级别的指令,确保操作的原子性可以有效避免多线程并发执行时出现的竞态条件或数据不一致等问题。 常见的原子操作包括:比特操作、交换操作、加减操作等。 在编写并发程序的时候,使用原子操作能够有效地减少数…

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