`
liujiekasini0312
  • 浏览: 147474 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring cloud微服务框架 第一天

 
阅读更多

  第一天,熟悉spring boot,并使用spring boot创建一个应用。

  Spring Boot是Spring团队推出的新框架,它所使用的核心技术还是Spring框架,主要是Spring 4.x,所以如果熟悉spring 4的人,能够更快的接受和学会这个框架。Spring boot可以看做是在spring框架基础上再包了一层,这一层包含方便开发者进行配置管理和快速开发的模块,以及提供了一些开箱即用的工具,比如监控等。

  Spring Boot官方文档有中文翻译版:

  https://github.com/qibaoguang/Spring-Boot-Reference-Guide

  要实现一个spring boot开发环境和传统的应用没有区别,这里用的是:

  IDE:myeclipse 10

  JDK:jdk1.7

  WINDOWS:mvn 3

  在桌面windows环境里需要单独安装方便我们使用命令行进行打包和操作。Eclipse环境里也需要安装mvn插件,当然如果使用的是myeclipse,那么自带的mvn环境就足够了。以下是建立spring boot helloworld应用的步骤。注意这是一个web应用,使用了嵌入式的tomcat。

  1) 首选建立一个最简单的maven工程,如下图:

  这个应用只有一个类,编写代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
packagecloud.simple.hello;
importorg.springframework.boot.*;
importorg.springframework.boot.autoconfigure.*;
importorg.springframework.stereotype.*;
importorg.springframework.web.bind.annotation.*;
@Controller
@SpringBootApplication
publicclassSampleController {
@ResponseBody
@RequestMapping(value ="/")
String home() {
return"Hello World!";
}
publicstaticvoidmain(String[] args)throwsException {
SpringApplication.run(SampleController.class, args);
}
}

  @SpringBootApplication相当于@Configuration、@EnableAutoConfiguration和 @ComponentScan,你也可以同时使用这3个注解。其中@Configuration、@ComponentScan是spring框架的语法,在spring 3.x就有了,用于代码方式创建配置信息和扫描包。@EnableAutoConfiguration是spring boot语法,表示将使用自动配置。你如果下载了spring boot源码,就会看到spring boot实现了很多starter应用,这些starter就是一些配置信息(有点类似于docker,一组环境一种应用的概念),spring boot看到引入的starter包,就可以计算如果自动配置你的应用。

  2) 配置pom.xml

  这个应用不需要配置文件,写完class后就可以直接配置pom.xml文件了,当然先配置pom.xml也一样。Pom文件配置如下:

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- spring boot基本环境 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.1.RELEASE</version>
</parent>
<groupId>spring.boot</groupId>
<artifactId>cloud-simple-helloword</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>cloud-simple-helloword</name>
<dependencies>
<!--web应用基本环境配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

pom文件配置完,你就可以运行应用了,点击F11,或者在SampleController类右键“Run Java Application”就可以看到应用启动并运行了。

此时在浏览器输入http://localhost:8080/,你会看到helloworld字样,这是一个web应用,使用了嵌入式的tomcat。

在pom配置中我们仅仅使用了spring-boot-starter-web依赖,spring boot会根据此依赖下载相关jar包并初始化基本的运行环境,比如说绑定端口8080等。

spring boot封装所有配置信息为键值类型,你想改变默认配置,只需要向应用传入这个键值对就可以,比如我们想改变绑定端口为8081,那么你在main方法里传入“—server.port=8081”即可,或者干脆使用:

  SpringApplication.run(SampleController.class, "--server.port=8081");

  3) 部署spring boot应用

  要部署运行spring boot应用,首选要打包spring boot应用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot应用的。

进入工程目录运行mvn package,如:

  D:\cloud-simple-helloword>mvn package

  打包过后就可以进入target目录使用java原生命令执行这个应用了。

  D:\cloud-simple-helloword\target>java -jar cloud-simple-helloword-0.0.1.jar --server.port=8081

  如此,你就看到一个基于jar包的web应用启动了。

  Spring boot提供的一些开箱即用的应用非常容易使用,比如监控,你只需要在pom文件中引入:

  <dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

  </dependency>

引入之后,spring boot是默认开启监控的,运行应用你可以在浏览器中输入:

http://localhost:8080/health

  就可以看到默认的监控信息了:

  {"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}

  信息包括程序执行状态以及基本的磁盘信息。

分享到:
评论

相关推荐

    7天学会spring cloud教程.pdf.zip

    第一天:初识Spring Cloud 1. Spring Cloud概述:了解Spring Cloud的发展背景,理解其在微服务架构中的地位和作用。 2. Eureka服务注册与发现:学习如何使用Eureka实现服务的注册与发现,理解服务注册与发现的重要性...

    SpringCloud学习-黑马1

    在微服务架构的世界中,Spring Cloud 是一个广泛使用的框架,它提供了全面的工具和服务治理解决方案。Spring Cloud Eureka 是其中的一个核心组件,主要负责服务注册与发现。理解Eureka的工作流程对于构建可靠的...

    SpringCloud学习第一天,helloWorld

    在本篇【SpringCloud学习第一天,helloWorld】的教程中,我们将初步接触并了解Spring Cloud这一微服务框架,以及如何创建一个基本的“Hello, World”应用。首先,我们需要理解Spring Cloud的核心概念和作用。 ...

    springcloud_weather.7z

    总结来说,"springcloud_weather"项目是一个典型的SpringCloud微服务示例,它展示了如何利用SpringCloud组件构建一个完整的天气预报服务系统,包括服务接口定义、服务实现、配置管理、服务注册与发现、API网关等功能...

    乐优商城19天(全)项目笔记

    乐优商城19天(全)项目笔记是一个全面记录了基于SpringCloud微服务架构的电商平台开发过程的学习资源。这份笔记涵盖了从项目初始化到系统完善的所有关键环节,旨在帮助开发者深入理解SpringBoot、SpringCloud和Vue.js...

    springcloud第二天源码及资料

    首先,SpringCloud是基于Spring Boot实现的一套微服务框架,它提供了诸如服务发现、负载均衡、断路器、API网关等众多功能,帮助开发者快速构建分布式系统。在SpringCloud中,Eureka是最常用的注册中心,但随着Nacos...

    spring Cloud代码学习加注释

    在本文中,我们将深入探讨Spring Cloud,这是一个广泛使用的微服务框架,它为开发人员提供了构建分布式系统所需的工具和服务发现、负载均衡、断路器、API网关等关键功能。我们将根据给定的文件名,从第一天到第三天...

    day01-SpringCloud01

    《Spring Cloud基础入门:日程第一天》 Spring Cloud作为一个微服务开发框架,是Java开发者实现分布式系统服务治理的重要工具。本文将围绕“day01-SpringCloud01”这一主题,详细阐述Spring Cloud的基础概念、核心...

    Spring教程

    第一天:Spring基础 1. Spring概述:了解Spring框架的历史、特点以及在企业级应用中的地位。 2. IoC容器:学习Spring如何通过IoC管理对象的生命周期和依赖关系,理解BeanFactory和ApplicationContext的区别。 3. ...

    Spring 深度阅读

    书中《Spring技术内幕:深入解析Spring架构与设计原理(第2版)》很可能详细分析了Spring的IoC容器、AOP实现、事务管理、MVC框架以及Spring Boot和Spring Cloud的相关内容。它可能会从源码角度出发,帮助读者理解...

    spring整合

    文件"day02"可能包含更具体的整合示例或者第二天的学习内容,这可能涵盖了Spring与特定技术的实战整合,例如Spring Boot与Docker的整合,或者Spring Cloud与Netflix OSS组件的使用。 总之,Spring整合涵盖了许多...

    spring_day01

    在这个压缩包中,可能包含了第一天学习Spring时需要掌握的基本概念和实践操作。下面将详细阐述Spring框架的核心知识点及其优势。 1. **IoC(Inversion of Control,控制反转)**:Spring框架的核心特性之一,它通过...

    spring培训第三天

    在Spring培训的第三天,我们将会深入探讨Spring框架的核心特性,以及如何在实际开发中有效应用这些知识。Spring是Java企业级应用中最广泛使用的轻量级框架,它提供了丰富的功能来简化开发流程,包括依赖注入(DI)、...

    spring_day05_spring_

    标题中的"spring_day05_spring_"表明这是一个关于Spring框架的学习资源,可能是一个课程或教程的第五天内容,重点在于深入理解Spring的核心概念和技术。描述中的"heima spring source code day 05"暗示我们这天的...

    资料-SS M框架Spring+SpringMVC+MyBatis全覆盖.zip

    同时,随着Spring Boot和Spring Cloud的流行,SSM框架在现代微服务架构中的地位也逐渐被替代,但其核心思想和设计理念仍然在新的框架中得到延续和发扬。因此,理解并掌握SSM框架对于任何Java开发者来说都是至关重要...

    video项目框架.rar

    - 学习SpringBoot不仅限于基本功能,还包括理解SpringCloud微服务架构、Redis缓存、Elasticsearch搜索引擎等高级技术。 - 掌握前后端分离项目意味着你需要了解RESTful API设计、状态管理和前端框架如Vue.js或React...

    第19章 Spring开发.rar

    Spring框架还包含了大量其他模块,例如Spring Security用于身份验证和授权,Spring Boot用于快速搭建微服务应用,Spring Data简化了对各种数据存储的访问,以及Spring Cloud为分布式系统提供了工具集。 总的来说,...

    passcloud源码以及所需的第三方包.rar

    本文将深入探讨“passcloud”这一开源电商微服务框架的源码,结合描述中的信息,我们可以了解到这个项目在添加了第三方包后,不仅消除了编译错误,还能成功运行。我们将从源码结构、第三方包的作用以及如何适用于...

    day01笔记.rar

    本"day01笔记.rar"压缩包包含了第一天学习乐优商城项目开发的相关资料,是Spring Cloud乐优商城19天系列教程的组成部分,配合了详细的笔记,帮助学习者逐步掌握该项目的构建过程。 在Spring Cloud框架下,乐优商城...

    蚂蚁课堂(每特学院)第一期-Java高端培训视频教程

    蚂蚁课堂(每特学院)第一期-Java高端培训视频...微信公众号开发项目 │ ├─-微信公众号开发-第一天(初始微信公众号开发).zip │ ├─-第三天(微信公众号开发总结).zip │ ├─-第二天(使用微信框架开发微信公众号).zip

Global site tag (gtag.js) - Google Analytics