我用docker创建了一个springboot4项目

你敢想。看了介绍,我直接下载了jdk21+mvn39,耗时5分钟。这网速。

复制代码
docker pull maven:3.9-amazoncorretto-21

嗯,当然还缺点什么,比如mysql,redis,nginx(可选).

于是我得到了一个docker file.

复制代码
services:
  mysql:
    image: mysql:8.0-debian
    container_name: sdk3921-mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: root123456
      MYSQL_DATABASE: sdk3921
      MYSQL_USER: dev
      MYSQL_PASSWORD: dev123456
    volumes:
      - ./data/mysql:/var/lib/mysql
    networks:
      - sdk3921-network
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 5s
      timeout: 5s
      retries: 10

  redis:
    image: redis:latest
    container_name: sdk3921-redis
    restart: unless-stopped
    command: redis-server --appendonly yes
    volumes:
      - ./data/redis:/data
    networks:
      - sdk3921-network

  app:
    image: maven:3.9-amazoncorretto-21
    container_name: sdk3921-app
    restart: unless-stopped
    working_dir: /project
    volumes:
      - ./springboot-app:/project
      - ./maven-settings.xml:/root/.m2/settings.xml
    depends_on:
      mysql:
        condition: service_healthy
      redis:
        condition: service_started
    networks:
      - sdk3921-network
    command: sleep infinity

networks:
  sdk3921-network:
    driver: bridge

当然你需要准备几个文件夹空的。

复制代码
<settings>
  <mirrors>
    <mirror>
      <id>aliyunmaven</id>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
</settings>

复制SpringBoot4 pom.xml

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>4.1.0</version>
	</parent>
	<groupId>com.example</groupId>
	<artifactId>myproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>

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

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>



</dependencies>
<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>
</project>

加了mvc后,你可以看到jackson到4.1了,这是springboot4的改动之一。另外还有tomcat

复制代码
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-webmvc</artifactId>
	</dependency>
</dependencies>

接下来我们来个启动类:

复制代码
package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class MyApplication {

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

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

}

mvn spring-boot:run

打包你就用 mvn package,执行就$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar

java -jar target/myproject-0.0.1-SNAPSHOT.jar

我的技术帖子都不设vip.源码碍于平台规则也only设置1积分。

最后附上源码:https://download.csdn.net/download/ldy889/93265518

相关推荐
探索云原生35 分钟前
KServe 工作流程:从 InferenceService 到 vLLM 服务
docker·ai·云原生·kubernetes·go
剑锋所指,所向披靡!1 小时前
Docker基础
运维·docker·容器
clz13145212 小时前
Dify的Windows平台部署:从Docker安装到Dify运行
windows·docker·容器
colinu4 小时前
Docker 容器自启动策略说明与常用命令
运维·docker·容器
灯澜忆梦4 小时前
【docker】#3 | 数据卷挂载
运维·docker·容器
像风一样自由202012 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
陈陈CHENCHEN16 小时前
【Kubernetes】纯 IPv6 K8s 用 socat 打通 IPv4 服务
云原生·容器·kubernetes
江湖有缘16 小时前
Docker实战 | 使用Docker部署rmoments社交平台
jvm·docker·oracle
灯澜忆梦21 小时前
【docker】#4 | Docker 自定义镜像与 Dockerfile
运维·docker·容器
TTATTC1 天前
Android 浏览器死活不弹证书框的那天,我用 .NET MAUI 给 WebView 写了一个 mTLS 拦截器
docker·开源