java云开发_Java 快速开始

# Java 快速开始

代码示例:

点击下方按钮一键部署:

# 第 1 步:编写基础应用

首先我们创建一个 Spring Boot 应用。

使用 curl 和 unzip 命令新建一个空 Web 项目:

curl https://start.spring.io/starter.zip \

-d dependencies=web \

-d javaVersion=1.8 \

-d bootVersion=2.3.3.RELEASE \

-d name=helloworld \

-d artifactId=helloworld \

-d baseDir=helloworld \

-o helloworld.zip

unzip helloworld.zip

cd helloworld

上述命令将创建一个 Spring Boot 项目。

将 src/main/java/com/example/helloworld/HelloworldApplication.java 内容更新如下:

package com.example.helloworld;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

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

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

@SpringBootApplication

public class HelloworldApplication {

@RestController

class HelloworldController {

@GetMapping("/")

String hello() {

return "Hello World!";

}

}

public static void main(String[] args) {

SpringApplication.run(HelloworldApplication.class, args);

}

}

在 src/main/resources/application.properties 中,将服务器端口设置成 8080:

server.port=8080

以上代码会创建一个基本的 Web 服务器,并监听 8080 端口。

# 第 2 步:将应用容器化

在项目根目录下,创建一个名为 Dockerfile 的文件,内容如下:

# 使用官方 maven/Java 8 镜像作为构建环境

# https://hub.docker.com/_/maven

FROM maven:3.6-jdk-11 as builder

# 将代码复制到容器内

WORKDIR /app

COPY pom.xml .

COPY src ./src

# 构建项目

RUN mvn package -DskipTests

# 使用 AdoptOpenJDK 作为基础镜像

# https://hub.docker.com/r/adoptopenjdk/openjdk8

# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds

FROM adoptopenjdk/openjdk11:alpine-slim

# 将 jar 放入容器内

COPY --from=builder /app/target/helloworld-*.jar /helloworld.jar

# 启动服务

CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/helloworld.jar"]

添加一个 .dockerignore 文件,以从容器映像中排除文件:

Dockerfile

.dockerignore

target/

# 第 3 步(可选):本地构建镜像

如果您本地已经安装了 Docker,可以运行以下命令,在本地构建 Docker 镜像:

docker build -t helloworld-java .

构建成功后,运行 docker images,可以看到构建出的镜像:

REPOSITORY TAG IMAGE ID CREATED SIZE

helloworld-java latest c994813b495b 8 seconds ago 271MB

随后您可以将此镜像上传至您的镜像仓库。

# 第 4 步:部署到 CloudBase 云托管

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

首个比较成型的切图作品

花了一天的时间,跌跌撞撞完成了自己的第一个切图作品。纪念一下! https://github.com/yangpeijia/psd-html.git转载于:https://www.cnblogs.com/jiajiayang/p/6840056.html

java jar包 配置文件_java 导入jar包中配置文件

spring项目只能识别到项目内的xml配置文件,无法识别jar中xml配置文件解决思路:在启动初始化期间,将jar包内部的文件拷贝到jar包外部相对路径中。//jarFullFileName: the file name with full path in jar.//newFilePath: the new file direct…

Jmeter响应中中文乱码怎么解决?

在jmeter的bin目录下有一个jmeter.properties的文件,打开它,搜索sampleresult.default.encoding,把它的注释打开,也就是把最前面的#去掉,改成sampleresult.default.encodingUTF-8,保存,重新打开…

三星java3倍拍照手机_全世界拍照最强的两款手机,一个是三星,一个是它

原标题:全世界拍照最强的两款手机,一个是三星,一个是它要说到手机拍照,三星S7毫无疑问是现阶段公认拍照最好的安卓手机,而这很大一定程度上取决于F1.7大光圈和先进的双核对焦技术。而在最近非常火的一款国产新机OPPO R…

抽卡时下拉通知栏导致icon丢失

之前一直忙着出版本,这两天好不容易空一点,赶紧把之前的坑填一下。上次说的那个十连抽,下拉通知栏是会有icon不渲染的问题,直觉是对的是与timescale有关,按昨天的研究结果来看,是因为用了ITween.ScaleTo这个…

ie11java阻止_企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装

企业IT管理员IE11升级指南 系列:如何阻止IE11的安装希望自行管理更新计划的企业和组织可以使用 IE11 Automatic Update Blocker Toolkit (自动更新拦截工具)禁止自动更新 Internet Explorer 11,与针对 IE10、IE9、IE8 和 IE7 的阻止程序工具包一样&#…

LeetCode: Convert BST to Greater Tree

利用好BST的特性,解起来并不难 1 /**2 * Definition for a binary tree node.3 * public class TreeNode {4 * int val;5 * TreeNode left;6 * TreeNode right;7 * TreeNode(int x) { val x; }8 * }9 */ 10 public class Solution { 11 …

java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令

这篇文章给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析。android的程序基于java开发,当我们接上调试器,执…

python学习之 - re模块

re模块功能:实现字符串匹配。元字符 描述\ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。^ 匹…

java从入门到精通第11章_《Java从入门到精通》第十章学习笔记

第10章  Java集合类一、概述Java中的java.util包中提供了一些集合类,也被称为容器,不同于数组,集合的长度是可变的,存放的是对象的引用。常用的集合有List集合、Set集合、Map集合,其中List和Set实现了Collection接口…

Hive之import和export使用详解

在hive-0.8.0后引入了import/export命令。 Export命令可以导出一张表或分区的数据和元数据信息到一个输出位置,并且导出数据可以被移动到另一个hadoop集群或hive实例,并且可以通过import命令导入数据。 当导出一个分区表,原始数据可能在hdfs的…

java中抓阄_如何进行抓阄

展开全部步骤:1、设计总体中的N个个体编号。2、把号码写在号e68a84e8a2ad3231313335323631343130323136353331333431366366签上,将号签放在一个容器中搅拌均匀。3、每次从中抽取一个号签,连续不放回抽取n次。4、将取出的n个号签上所对应的n个…

ARMV8 datasheet学习笔记5:异常模型

1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32、AArch64架构下IRQ 和Data Abort 异常处理流程图对比. 3.1 IRQ 路由 3.1.1. AArch32 IRQ 路由 图 AAr…

leetcode 三数之和 python_16.leetcode题目讲解(Python):最接近的三数之和

题目如下:题目这道题可以用排一些特殊情况,减少计算量, 参考代码如下:class Solution:def threeSumClosest(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""# 如果只…

给GridView设置行高

近期在工作中遇到了这样一个问题,使用一个GridView展示数据,item中仅仅是一个TextView,可是里面显示的文字多少不固定多少,必须所有展示出来. 遇到的问题: 1.把item中的宽和高设置match_parent,还是设置成wrap_content,当内容过多的时候,会覆盖下一行的显示的内容. 2.没有一个属…

java导出excel float_【Java】导入导出Excel表格

1、将excel导入到内存1、 调用工作簿Workbook的静态方法getWorkbook(),获得工作簿Workbook对象InputStream in new FileInputStream(file);Workbook wb Workbook.getWorkbook(in);2、 获取Excel表中的工作表格Sheet3、 获取行、列sheet.getRows();sheet.getColumns();4、 读取…

C#的基础数据类型

一、概述 C# 的类型系统是统一的,因此任何类型的值都可以按对象处理。C# 中的每个类型直接或间接地从 object 类类型派生,而 object 是所有类型的最终基类。C#的数据类型主要分为三类:值类型、引用类型和指针类型(如下图所示&…

mysql 占用的解决_解决 MySQL 突然占用全部内存的问题

最近更新:19th 6月, 2016前段时间落格从虚拟主机迁移到了独立的vps上,这下所有的维护内容都得我自己动手了。为了性能,另外既然能自己配环境了,自然不会用旧的配置。我用了 Ubuntu Server 16.04 PHP 7.0 Nginx MySQL 5.7 总之&…

[luoguP2957] [USACO09OCT]谷仓里的回声Barn Echoes(Hash)

传送门 团队里的hash水题&#xff0c;数据小的不用hash都能过。。 也就是前缀hash&#xff0c;后缀hash&#xff0c;再比较一下就行。 ——代码 1 #include <cstdio>2 #include <cstring>3 #define ULL unsigned long long4 5 int n, m, ans;6 char s1[81], s2[81]…

java内容寻址_java – 获取方法对象而不按名称寻址方法

有没有办法获取方法对象而不必使用方法的名称来获取它&#xff1f;例如,我有班级&#xff1a;class Car {public String drive();public String giveUp();public String fillUp();}我想创建一个Map< String,Method>方法(又名&#xff1a;(“move”,drive()),(“name”,gi…