`

spring cloud教程之使用spring boot创建一个应用

 
阅读更多

  《7天学会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
package cloud.simple.hello;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
 
@Controller
@SpringBootApplication
public class SampleController  {
 
    @ResponseBody
    @RequestMapping(value = "/")
    String home() {   
        return "Hello World!";
    }
 
    public static void main(String[] args) throws Exception {
        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
<project xmlns="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}}

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

分享到:
评论

相关推荐

    03Spring Cloud项目实战微服务整合spring boot视频教程课件

    12. **Spring Cloud Data Flow**:Data Flow是一个用于创建、部署和管理数据处理工作流程的平台,特别适用于批处理和流处理场景。 以上知识点构成了Spring Cloud项目实战微服务整合spring boot的核心内容。通过本...

    spring cloud视频教程

    Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具包,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...

    SpringCloud基础教程

    SpringCloud是中国Java开发者广泛使用的微服务框架之一,它基于Spring Boot进行快速构建,并提供了众多用于构建分布式系统的服务发现、配置管理、负载均衡、断路器等核心功能。本基础教程旨在帮助初学者全面理解并...

    spring cloud 体系版本选型,涉及spring cloud alibaba spring boot spring cloud

    Spring Cloud作为一个广泛使用的微服务框架,其版本迭代迅速,每个版本都有其特定的功能特性和生命周期。以下将详细阐述如何进行Spring Cloud、Spring Boot以及Spring Cloud Alibaba的版本选型。 首先,让我们来看...

    spring boot、spring cloud、spring boot Alibaba以及配套组件版本关系

    该分支特别注意的是版本命名规则的变化,新的Spring Cloud Alibaba版本号由Spring Cloud版本号加上一个扩展版本号组成,例如`2022.0.0.0`表示与Spring Cloud 2022.0.0版本兼容的第一个版本。 ##### 2. 2021.x 分支 ...

    spring cloud和spring boot两个完整项目

    spring cloud 是基于Spring Cloud的云分布式后台管理系统架构,核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、Security、OAth、Mybatis、Ace-cache等主要框架和中间件,UI采用Bootstrap、jquery等前端组件 ...

    Spring cloud和Spring boot介绍

    - **Spring Boot 作为基础**:Spring Boot 为 Spring Cloud 提供了一个快速开发的基础。Spring Cloud 建立在 Spring Boot 之上,利用其自动化配置的能力。 - **Spring Cloud 扩展功能**:相比于 Spring Boot,Spring...

    Spring cloud与Spring boot 集成完整案例

    - **eumji025**: 这可能是一个特定的模块或子项目,具体功能无法直接推断,但很可能包含了Spring Cloud和Spring Boot的某个具体实现,例如使用Eureka进行服务注册和发现,或者使用Hystrix实现熔断机制。 案例分析...

    基于 Spring Cloud 2021 、Spring Boot 2.7、 OAuth2 的 RBAC 权限管理系统源码

    这是一个基于最新技术栈,包括Spring Cloud 2021、Spring Boot 2.7和OAuth2的RBAC(Role-Based Access Control)权限管理系统的源码项目。该项目旨在提供一套高效、安全的后端服务框架,用于实现用户权限的精细化...

    spring-cloud项目_springcloud_springcloud项目_springcloud_spring-clou

    Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...

    Spring boot,springCloud精选视频教程

    23.Spring Cloud Config服务端配置细节(一) 24.Spring Cloud Config服务端配置细节(二)之加密解密 25.Spring Cloud Config客户端配置细节 26.Spring Cloud Bus之RabbitMQ初窥 27.Spring Cloud Bus整合RabbitMQ ...

    基于Spring Boot+Spring Cloud+OAuth2的RBAC权限管理系统.zip

    基于 Spring Cloud Hoxton 、Spring Boot 2.2、 OAuth2 的RBAC权限管理系统 基于数据驱动视图的理念封装 Ant Design Vue,即使没有 vue 的使用经验也能快速上手 提供 lambda 、stream api 、webflux 的生产实践 ...

    Spring cloud spring boot spring boot admin

    Spring Boot则是一个用于简化Spring应用初始搭建以及开发过程的框架,它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等等,只需要少量配置就可以创建一个完整的Spring应用。 Spring ...

    基于Spring Boot 3.0、 Spring Cloud 2022 & Alibaba 的微服务RBAC 权限管理系统

    介绍一个基于Spring Boot 3.0、Spring Cloud 2022 & Alibaba的微服务RBAC权限管理系统。该系统可以实现微服务RBAC权限管理,通过RBAC权限管理机制对用户访问系统的权限进行限制,从而提高系统的安全性和可用性。同时...

    SpringCloud项目源码下载.docx

    Spring Cloud 是一个基于Spring Boot实现的云应用开发工具包,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中...

    Spring Cloud实战 _springcloud实战_springcloud_

    总而言之,Spring Cloud通过一系列的组件和服务,构建了一个完整的微服务生态系统,覆盖了从服务注册、服务发现、服务调用、容错保护、配置管理到消息处理等多个方面,极大地提升了开发效率和系统的可扩展性。...

    Spring Cloud官方教程PDF版本PDF

    总的来说,Spring Cloud官方教程PDF版本将涵盖这些组件的安装、配置、使用方法,以及如何将它们整合到微服务架构中,帮助开发者构建出健壮、可扩展的云应用。这份教程对于希望深入理解和实践Spring Cloud技术的人来...

    Spring Cloud和Spring Boot视频教程

    Spring Cloud和Spring Boot是现代Java开发中的两大热门框架,它们在构建微服务架构中起着核心作用。...记得结合“springCloud整套视频教程.txt”和“springBoot整套视频教程.txt”进行学习,以获得最全面的理解。

    springcloud学习笔记.pdf

    Spring Cloud 工程是基于 Spring Boot 工程的,我们可以使用 pom.xml 文件来管理依赖关系,并使用 application.properties 配置文件来配置应用程序。在这个架构中,我们可以使用 Eureka 服务端来搭建注册中心,并...

Global site tag (gtag.js) - Google Analytics