从零开始搭建腾讯云上的SpringBoot容器化应用.docxVIP

  • 4
  • 0
  • 约4.89千字
  • 约 18页
  • 2018-06-06 发布于江西
  • 举报

从零开始搭建腾讯云上的SpringBoot容器化应用.docx

从零开始搭建腾讯云上的SpringBoot容器化应用.docx

由于最近容器技术的火热,各大云计算厂商都已经提供了独立的容器服务,腾讯云也不例外。腾讯云容器服务的官方文档提供了一个基于Node.js的简单案例供大家上手,考虑到官方的文档并没有提供基于Java的上手教程,再加上容器/微服务技术在Java领域的各种衍生开源组件--如SpringCloud家族的各种神器应用极其广泛,今天有空拿一个简单的带增删改查接口功能的SpringBoot应用外接腾讯云CDB for MySQL来把玩容器服务,正好以此来演示如何从零开始在腾讯云上搭建基于SpringBoot的容器化应用。关于为啥选用SpringBoot框架,我想原因也不必多说,主要还是因为其本身就是一个为容器而生的框架,自带Tomcat服务器而且能以极简的配置构建web服务(相对于SpringMVC而言)。这里以一个提供用户管理的微服务为例进行搭建,为了简化步骤仅考虑用户数据的增删改查功能不考虑实际业务逻辑。微服务本身基于SpringBoot框架,数据库保存在腾讯云CDB for MySQL上,同时利用Spring的JPA作为ORM框架,最终发布可以对用户数据进行增删改查的Restful接口。1. 创建SpringBoot 项目IntelliJ Idea默认可以创建SpringBoot应用,新建项目里面选择Spring Initializer。创建SpringBoot项目修改对应的名字,我们这里就叫UserProvider项目配置修改项目的组织架构如图所示,各部分功能如下:Controller/UserProviderController.java: HTTP请求的监听入口,为了简化程序不再写Service层,直接调用DAO层DAO/UserInfoDao.java: DAO层,直接使用JPA实现Model/UserProviderApplication.java: entity层,映射到数据库,为了简化程序只定义了名字,年龄,性别几个字段项目组织架构代码本身不再做过多的解释,都是最基础的SpringBoot代码,大家可以从下面的地址获取代码。 /xianl/UserProvider需要提到的是application.yml文件和项目根目录下的MAVEN配置文件pom.xml。application.yml 中通过${userprovider_mysql} 来获取环境变量中配置好的数据库地址传给jdbc,后面会演示如何通过腾讯云的容器服务来传入这个参数到容器内。server: port: 8090spring: jpa: hibernate: ddl-auto: create datasource: url: jdbc:mysql://${userprovider_mysql}/userdb username: springuser password: Test01!info: app: name: @project.artifactId@ encoding: @project.build.sourceEncoding@ java: source: @java.version@ target: @java.version@pom.xml 需要引入JPA和mysql的依赖包,同时加入docker-maven-plugin用于直接打包生成docker镜像。 dependency/dependenciesbuild/build首先在本地进行调试,创建userdb数据库并赋予用户springuser对数据库的访问权限。同时需要设置本地环境变量userprovider_mysql的值为。mysql create database userdb;Query OK, 1 row affected (0.00 sec)mysql create user springuser@% identified by Test01!;Query OK, 0 rows affected (0.00 sec)mysql grant all on userdb.* to springuser@%;Query OK, 0 rows affected (0.00 sec)访问本地的8090端口,调用add接口插入一条数据,再次通过Users接口可以获取之前插入的数据。表明程序本身没有问题,本地调试成功之后可以进行后续的操作。本地调试2. 生成docker镜像并上传到腾讯云镜像仓库在一台安装好git+java+maven+docker的Linux主机上执行下面的命令生成docker镜像。由于我们的application.yml文件需要读取环境变量来获取数据库的地址,所以我们在打包jar包和docker镜像的时候需要指定参数-DskipTests,否则在测试的时候会报数据库连接的错误

文档评论(0)

1亿VIP精品文档

相关文档