您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 7天学会spring cloud教程
1、Springcloud简介按照官方的话说:SpringCloud为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。最关键的是它足够简单,一般的开发人员只需要几天时间就可以学会它的基本用法。本教程包括7个例子和相关短文,都是最简单的用法,也是默认最基本的用法,在实际生产环境中也可以用上,当然是初步使用。本文7个例子包括:1)一个基本的springboot应用。2)分布式配置管理服务端3)分布式配置管理客户端(微服务应用)4)服务注册服务端5)服务注册发现客户端(微服务应用)6)springboot风格的web前端应用7)使用docker发布应用开源项目地址:、使用springboot创建一个应用SpringBoot是Spring团队推出的新框架,它所使用的核心技术还是Spring框架,主要是Spring4.x,所以如果熟悉spring4的人,能够更快的接受和学会这个框架。Springboot可以看做是在spring框架基础上再包了一层,这一层包含方便开发者进行配置管理和快速开发的模块,以及提供了一些开箱即用的工具,比如监控等。SpringBoot官方文档有中文翻译版:要实现一个springboot开发环境和传统的应用没有区别,这里用的是:IDE:myeclipse10JDK:jdk1.7WINDOWS:mvn3在桌面windows环境里需要单独安装方便我们使用命令行进行打包和操作。Eclipse环境里也需要安装mvn插件,当然如果使用的是myeclipse,那么自带的mvn环境就足够了。以下是建立springboothelloworld应用的步骤。注意这是一个web应用,使用了嵌入式的tomcat。1)首选建立一个最简单的maven工程,如下图:这个应用只有一个类,编写代码如下:@Controller@SpringBootApplicationpublicclassSampleController{@ResponseBody@RequestMapping(value=/)Stringhome(){returnHelloWorld!;}publicstaticvoidmain(String[]args)throwsException{SpringApplication.run(SampleController.class,args);}}@SpringBootApplication相当于@Configuration、@EnableAutoConfiguration和@ComponentScan,你也可以同时使用这3个注解。其中@Configuration、@ComponentScan是spring框架的语法,在spring3.x就有了,用于代码方式创建配置信息和扫描包。@EnableAutoConfiguration是springboot语法,表示将使用自动配置。你如果下载了springboot源码,就会看到springboot实现了很多starter应用,这些starter就是一些配置信息(有点类似于docker,一组环境一种应用的概念),springboot看到引入的starter包,就可以计算如果自动配置你的应用。2)配置pom.xml这个应用不需要配置文件,写完class后就可以直接配置pom.xml文件了,当然先配置pom.xml也一样。Pom文件配置如下:projectxmlns=:xsi=:schemaLocation=://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.3.1.RELEASE/version/parentgroupIdspring.boot/groupIdartifactIdcloud-simple-helloword/artifactIdversion0.0.1/versionpackagingjar/packagingnamecloud-simple-helloword/namedependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/projectpom文件配置完,你就可以运行应用了,点击F11,或者在SampleController类右键“RunJavaApplication”就可以看到应用启动并运行了。此时在浏览器输入,你会看到helloworld字样,这是一个web应用,使用了嵌入式的tomcat。在pom配置中我们仅仅使用了spring-boot-starter-web依赖,springboot会根据此依赖下载相关jar包并初始化基本的运行环境,比如说绑定端口8080等。springboot封装所有配置信息为键值类型,你想改变默认配置,只需要向应用传入这个键值对就可以,比如我们想改变绑定端口为8081,那么你在main方法里传入“—server.port=8081”即可,或者干脆使用:SpringApplication.run(SampleController.class,--server.port=8081);3)部署springboot应用要部署运行springboot应用,首选要打包springboot应用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包springboot应用的。进入工程目录运行mvnpackage,如:D:\cloud-simple-hellowordmvnpackage打包过后就可以进入target目录使用java原生命令执行这个应用了。D:\cloud-simple-helloword\targetjava-jarcloud-simple-helloword-0.0.1.jar--server.port=8081如此,你就看到一个基于jar包的web应用启动了。Springboot提供的一些开箱即用的应用非常容易使用,比如监控,你只需要在pom文件中引入:dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency引入之后,springboot是默认开启监控的,运行应用你可以在浏览器中输入:就可以看到默认的监控信息了:{status:UP,diskSpace:{status:UP,total:161067397120,free:91618398208,threshold:10485760}}信息包括程序执行状态以及基本的磁盘信息。3、使用springcloud实现分布式配置管理本文涉及到的项目:cloud-config-repo:配置文件存放的文件夹cloud-simple-service:一个使用mybatis的数据库应用分布式配置管理应该是分布式系统和微服务应用的第一步。想象一下如果你有几十个服务或应用需要配置,而且每个服务还分为开发、测试、生产等不同维度的配置,那工作量是相当大的,而且还容易出错。如果能把各个应用的配置信息集中管理起来,使用一套机制或系统来管理,那么将极大的提高系统开发的生产效率,同时也会提高系统开发环境和生产环境运行的一致性。在传统开发中我们往往需要自己开发“配置管理服务器”,你可以使用redis、ldap、zookeeper、db等来存放统一配置信息,然后开发一个管理界面来进行管理。传统的做法没什么问题,和springcloud所提供的配置管理方案相比,就是前者需要自己开发,而后者直接简单使用现成的组件即可。当然还有很重要的一点,spring配置管理模块由于是springboot核心来实现的,因此做了大量的工作,可以把一些启动参数进行外部配置,这在传统的方案中是很难办到的,因为涉及到要改写第三方组件的问题,难度很大。比如web应用的绑定端口,传统应用只能在tomcat配置文件里改,而springcloud却可以放到远程,类似的还有数据库连接、安全框架配置等。要使用springcloud分布式配置文件总体上分为3个大的步骤,首选你需要创建存放配置文件的仓库,然后创建一个配置文件服务器,该服务器将配置文件信息转化为rest接口数据,然后创建一个应用服务,该服务演示使用分布式配置文件信息。1)创建配置文件存放仓库Springcloud使用git或svn存放配置文件,默认情况下使用git,因此你需要安装git私服或者直接使用互联网上的github或者git.oschina,这里推荐使用git.oschina。本文示例使用的是git.oschina,创建好git工程后,也就是文章开头所提到的工程,在此工程再创建一个文件夹cloud-config-repo来存放配置文件。然后创建两个配置文件:cloud-config-dev.propertiescloud-config-test.properties这两个文件分别对应开发环境和测试环境所需要的配置信息,配置信息如下:mysqldb.datasource.url=jdbc\:mysql\://10.0.12.170\:3306/test?useUnicode\=true&characterEncoding\=utf-8mysqldb.datasource.username=csstmysqldb.datasource.password=csstlogging.level.org.springframework.web:DEBUG配置信息提供了数据库连接参数等,这是因为后面的应用服务中使用到了数据库。2)创建springcloud配置服务器配置文件仓库创建好了后,就需要创建配置管理服务器,如前所述该服务器只是将配置文件转换为rest接口服务,不做其它用途。这个服务器的功能也是springcloud提供的,所以我们只需要引入相关jar包,稍微设置一下即可。创建该服务应用,你需要首选创建一个空的maven工程:然后在这个工程中增加一个类,命名为:ConfigServerApplication,代码如下:@SpringBootApplication@EnableConfigServerpublicclassConfigServer
本文标题:7天学会spring cloud教程
链接地址:https://www.777doc.com/doc-4253678 .html