牛批!GitHub一夜登顶的SpringBoot的项目笔记太强了,星标超10+

50 篇文章 0 订阅

环境概述

  • Mac Big Sur 11.4
  • IntelliJ IDEA 2021.1.1 (Ultimate Edition)

Docker的安装以及在Idea里的配置

Docker的安装非常简单,只需要使用Homebrew安装即可(没有homebrew可以自行搜索安装homebrew)

brew install --cask --appdir=/Applications docker

安装后需要点开顶部的图标,输入本机密码后方可通过命令行验证Docker是否安装成功

docker --version

如果安装成功,即可进入Idea软件中对Docker进行配置,进入Preferences --> Editor --> Plugins,搜索Docker进行安装

安装完成后进入Preferences --> Build, Execution, Deployment --> Docker,点击加号新建一个Docker,并尝试连接,如连接成功下面会显示Connection successful

Idea 创建新项目

Idea 新创建项目,填入名字等信息

这里SDK版本为1.8, JAVA版本为JAVA 8是因为目前网上的教程大多以这两个版本开发,更高的版本我没有尝试,因为担心有兼容问题

第二步是选定依赖库,因为我们后面会根据pom.xml对依赖库进行更新,所以这里可以暂时不选,直接点FINISH即可

修改pom.xml并更新依赖库

修改pom.xml文件,将所需的docker, spring-boot-web等依赖库添加进去,注意前面有些内容是根据项目的名字来决定的,如有需要可以直接复制<properties>标签及以后的内容对你的文件进行修改(注意spring-boot版本最好和你创建时设定版本一致)

<?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>2.5.0</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>com.example</groupId>
  <artifactId>docker-demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>docker-demo</name>
  <description>Demo project for Spring Boot</description>
  <properties>
    <java.version>1.8</java.version>
    <docker.image.prefix>springboot</docker.image.prefix>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>

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

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

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <!-- Docker maven plugin -->
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
          <dockerDirectory>src/main/docker</dockerDirectory>
          <resources>
            <resource>
              <targetPath>/</targetPath>
              <directory>${project.build.directory}</directory>
              <include>${project.build.finalName}.jar</include>
            </resource>
          </resources>
        </configuration>
      </plugin>
      <!-- Docker maven plugin -->
    </plugins>
  </build>

</project>

修改完成后可以看到右边多了个小图标,点击即可对依赖库进行下载安装

Controller的添加以及测试

在src/main/java/com/example/dockerdemo下创建一个新的文件夹Controller

并在Controller下新建文件HomeController.java,内容为:

package com.example.dockerdemo.Controller;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;

@RestController
public class HomeController {
    
    @GetMapping("/")
    public String Home() {
        return "Homepage";
    }

}

src/main/java/com/example/dockerdemo目录下双击进入DockerDemoApplication.java,点击左侧边绿色三角形运行服务器

若Springboot成功运行,打开浏览器访问 localhost.com:8080,便可看到如下画面:

Maven打包以及Dockerfile的编写

如果前面的操作没问题的话,我们接下来便可以试着对我们刚刚完成的项目进行打包,在Idea里通过Maven对项目进行打包非常简单,点击最右边侧边栏Maven图标,点击Lifecycle双击package便可对项目进行打包

如果打包成功,会在根目录target目录里生成一个jar文件

在根目录下新建文件Dockerfile

填入以下内容,注意这里docker-demo-0.0.1-SNAPSHOT.jar要与打包创建的jar文件同名

FROM openjdk:8-jdk-alpine
VOLUME /tmp
EXPOSE 8080
ADD /target/docker-demo-0.0.1-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

创建镜像以及运行

完成Dockerfile以后,直接点击左侧栏运行符号,点击New Run Configuration

Image tag填上你想取的镜像的名字, Run标签下Conatiner name填上你想取的容器的名字(没有Run标签的话通过Build右边的Modify options调出)

接着点击Bind ports将容器和本机通过端口连接起来(没有Bind ports选项的话通过Run右边Modify调出来),默认的话主机和容器端口都是8080。因此点击加号将主机和容器连接起来

接着在Before launch标签下点击加号,添加一个Run Maven Goal。这样每次运行的时候就会自动打包,如不需要可以跳过这一步

Comand line 输入clean package -f pom.xml ,点击OK

接着点击保存设置,直接运行,Idea便会自动开始打包,创建镜像,创建容器并运行,接下来使用浏览器再次打开localhost.com:8080

出现以下画面便表明大功告成!

这样我们就构建了一个轻量级的在容器内运行的Springboot项目

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值