我用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

相关推荐
梦梦代码精10 小时前
连锁品牌数字化:从门店扩张到用户资产运营的技术底座
大数据·人工智能·低代码·docker·开源·代码规范
启雀AI11 小时前
AI 驱动的视频课程自动摘要与知识点提取:ASR + LLM 流水线工程实践
人工智能·阿里云·华为云·音视频·培训saas平台
InfinitePlus14 小时前
Docker MySQL搭建一主一从
mysql·docker
坐吃山猪16 小时前
Docker07-MySQL
mysql·docker·容器
Wzx19801216 小时前
python沙箱和docker沙箱你选对了吗?
开发语言·python·docker
CodeDevMaster16 小时前
关于PaddleOCR-VL部署与使用说明
docker·llm
Kismet_nvi16 小时前
《Kubernetes Service 进阶、kube-proxy 与 Ingress 实战精要》
云原生·容器·kubernetes
Ghost Face...18 小时前
龙芯Docker全流程:安装到离线迁移实战
java·docker·eureka
Crazy________18 小时前
Redis03:持久化存储,大key分析,主从复制及哨兵模式
数据库·redis·容器