- 4
- 0
- 约4.89千字
- 约 18页
- 2018-06-06 发布于江西
- 举报
从零开始搭建腾讯云上的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,否则在测试的时候会报数据库连接的错误
您可能关注的文档
- 会计专业暑假实习报告篇-会计专业暑假实习报告篇-会计专业暑假实习报告篇-.doc
- 企业破产法 印尼破产法.doc
- 毕业生求职的条必杀技(下).doc
- 【解析版】四川省资阳市安岳县李家中学2015-2016学年七年级(上)期中生物试卷.doc
- 2018年-年产2万台高性能水稻插秧机项目可行性研究报告-76.doc
- 市政道路工程监理大纲化工园道路工程_.doc
- 从“污染物‘末端’处理”到“清洁生产”-发达国家依法保护环境资源的理论与实践_环境工程论文【精品论文】.doc
- 菁蕴科技带您从零开始了解微信小程序开发.docx
- 地税开发运维专用平台磋商文件(最终).doc
- 项目工程文化建设理论与实践探究.doc
最近下载
- 出口涂覆的陶瓷蜂窝体及其制造方法.pdf VIP
- 2025-2030无线电综测仪行业发展趋势及前景竞争力策略分析研究报告.docx
- 豪华曹操传2014图文攻略.docx VIP
- 【中邮-2026研报】天智航(688277):骨科机器人龙头有望受益于政策拐点,商业模式或持续优化.pdf VIP
- 人教版高中化学选择性必修3有机化学基础精品课件 第五章 合成高分子 第一节 合成高分子的基本方法.ppt VIP
- 最新人教版八年级下册物理期末试卷及答案 .pdf VIP
- 小学数学一年级下册期末试卷C.doc VIP
- 记账凭证封面打印模板.docx VIP
- 学习适应性测验(AAT)(小学五、六年级).doc VIP
- 11.第五章物流业与信贷市场.ppt VIP
原创力文档

文档评论(0)