摘要:最佳實踐框架配置開源軟件介紹是國內首個開源的生產級無服務器。詳細介紹項目地址框架簡化了新應用的初始搭建以及開發過程,云幫支持平臺部署類應用。配置數據庫云幫提供的相關配置目錄結構如下,配置文件內容僅供參考。
【Rainbond最佳實踐】Spring Boot框架配置MySQL
Rainbond開源軟件介紹: Rainbond是國內首個開源的生產級無服務器PaaS。 深度整合基于Kubernetes的容器管理、多類型CI/CD應用構建與交付、多數據中心的資源管理等技術,提供云原生應用全生命周期解決方案,構建應用與基礎設施、應用之間及基礎設施之間的互聯互通生態體系。12月12日,Rainbond正式開源。 [Rainbond詳細介紹](http://www.rainbond.com/docs/stable/getting-started/design-concept.html) [Rainbond項目地址](https://github.com/goodrain/rainbond)
Spring Boot框架簡化了新Spring應用的初始搭建以及開發過程,云幫支持平臺部署Spring Boot類應用。
云幫提供Spring Boot配置MySQL服務的示例,去云市一鍵式部署Spring Boot-MySQL示例
以下內容是本地創建和運行該示例的過程:
創建示例使用spring-boot-cli創建示例
$ docker run -it --rm -v $PWD:/app goodrainapps/spring-boot-cli:1.5.9 spring init --dependencies=web spring-boot-mysql-demo
進入示例類文件存放目錄
$ cd spring-boot-mysql-demo/src/main/java/com/example/springbootmysqldemo
添加DemoApplication.java
@Controller @SpringBootApplication public class DemoApplication { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }構建示例
為了加快maven構建,在setting.xml中添加了國內的mirror。將setting.xml拷貝到您的spring-boot-mysql-demo中。
$ cd spring-boot-mysql-demo $ docker run -it --rm -v "$PWD":/app/build -w /app/build maven:3.5.2-jdk-7-alpine mvn -B -DskipTests=true -s settings.xml clean install運行
執行以下命令運行Hello World 示例
$ cd spring-boot-mysql-demo $ docker run -it --rm -v $PWD:/app -w /app -p 8080:8080 goodrainapps/openjdk:8u131-jre-alpine java -jar target/*.jar
訪問http://localhost:8080查看運行結果。
配置數據庫云幫提供Spring-boot-mysql-demo的相關配置目錄結構如下,配置文件內容僅供參考。
詳細配置參考下文:
連接MySQL添加以下內容,將此應用與數據庫進行連接。
在pom.xml內添mysql數據庫服務 :
mysql mysql-connector-java 5.1.9
添加JDBC驅動:
org.springframework.boot spring-boot-starter-jdbc
在application.properties添加數據庫連接信息:
spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MSYQL_PORT}/demo?createDatabaseIfNotExist=true spring.datasource.username=${MYSQL_USER} spring.datasource.password=${MYSQL_PASS} spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.maxActive=10 spring.datasource.maxIdle=5 spring.datasource.minIdle=2 spring.datasource.initialSize=5 spring.datasource.removeAbandoned=true
在源碼添加DatabaseConfig.java
@Configuration public class DatabaseConfig { @Bean @Primary @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource() { return new org.apache.tomcat.jdbc.pool.DataSource(); } }數據庫初始化
使用 JPA 管理生成實體的映射關系的代碼。
數據庫重構與遷移 org.springframework.boot spring-boot-starter-data-jpa 使用LiquiBase,以便將JPA生成實體的映射關系在數據庫體現。第一步,在pom.xml添加:
org.liquibase liquibase-core 3.4.1 第二步,創建 Liquibase 的修改日志,默認從 db.changelog-master.yaml 讀取:
databaseChangeLog: - changeSet: id: 1 author:模板渲染changes: - createTable: tableName: person columns: - column: name: id type: int autoIncrement: true constraints: primaryKey: true nullable: false - column: name: first_name type: varchar(255) constraints: nullable: false - column: name: last_name type: varchar(255) constraints: nullable: false Thymeleaf可以幫助渲染XML、XHTML、HTML5內容的模板引擎,它也可以輕易的與Spring MVC等Web框架集成作為Web應用的模板引擎。在pom.xml中添加:
docker化改造org.springframework.boot spring-boot-starter-thymeleaf 為了支持 Spring Boot MySQL demo 輕松部署在云幫,將demo使用Dockerfile構建鏡像,在云幫實現一鍵式部署
#使用配置好環境的父鏡像 FROM maven:3.5.2-jdk-7-alpine #創建demo源碼工作目錄 RUN mkdir /app #將本地源碼拷貝到鏡像中 COPY . /app/ #指定工作目錄 WORKDIR /app #聲明映射端口 EXPOSE 5000 #指定maven的配置文件,文件內制定新的mirror地址 RUN mvn -B -DskipTests=true clean install #啟動腳本 ENTRYPOINT ["/app/run.sh"]構建鏡像$ docker build -t goodrainapps/spring-boot-mysql-demo .運行#運行mysql $ docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql#運行示例 $ docker run -it --rm --link mysql -p 5000:5000 -e MYSQL_HOST=mysql -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=123456 goodrainapps/spring-boot-mysql-demo訪問http://localhost:5000查看Spring Boot 框架配置MySQL服務的運行界面
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/68205.html
摘要:微服務架構允許我們再創建新應用時自由選擇不同的技術和編程語言。個用戶時,性能顯著降低,而仍然是完美的。總結使用相同的硬件,應用程序可以提供兩倍于具有數據庫的應用的并發用戶數。 Ivan Nikitsenka 微服務架構允許我們再創建新應用時自由選擇不同的技術和編程語言。不過究竟哪種語言更適合我們當下的硬件?回答這個問題,需要搞明白Java和Go編寫的相同應用程序之間的性能差異。 先決條...
摘要:并不會在微服務框架中有其它的注冊機制。微服務框架本身不會維護服務組件的啟動順序,這一問題可以由來解決。啟動先后邏輯為被依賴的服務先啟動,只有當前服務所依賴的服務全部正常啟動后,才會開始啟動流程。 概述 這篇文檔,著重解決一個問題:Spring Cloud 融合于 Rainbond 原生 Service Mesh 的正確姿勢是什么樣子的。 Rainbond 原生支持 Service Me...
摘要:微軟已經很久沒有支持開源社區了,這也是很多公司不采用的原因之一。當然微軟總是致力于提供無的工具簡單的語法和良好的教程,他們最近也意識到,開源可以為提供更多的創新和業務。 得益于CTO、CEO和CDO們積極的推動,IT基礎設施正在向云環境遷移,底層架構師則在熱烈討論圍繞著云原生應用的SaaS、PaaS和微服務架構,而開發者們正在大顯身手,努力探索云計算的魔盒,找出什么是對業務有價值的,什...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
閱讀 1173·2021-11-22 15:24
閱讀 4450·2021-09-23 11:51
閱讀 2314·2021-09-08 09:36
閱讀 3522·2019-08-30 15:43
閱讀 1302·2019-08-30 13:01
閱讀 1124·2019-08-30 12:48
閱讀 545·2019-08-29 12:52
閱讀 3376·2019-08-29 12:41