zoukankan      html  css  js  c++  java
  • 第二章 微服务构建:Spring Boot

    快速入门

    项目构建与解析

    系统及工具版本要求

    • Java 7及以上版本
    • Spring Framework 4.2.7及以上版本
    • Maven 3.2及以上版本/Gradle1.12及以上版本

    构建Maven项目

    1. 通过官方 Spring Initializr工具来产生基础项目
    2. 访问 http://start.sring.io/,该网站提供了以Maven或Gradle构建Spring Boot项目的功能
    3. 选择构建工具Maven、Spring Boot 版本选择1.3.7,因为要实现RESTful API,所以可以添加Web依赖
    4. 单机Generate Project按钮下载项目压缩包
    5. 解压项目包,并用IDE以maven项目导入,编译工具选择IDEA

    实现RESTful API

    在Spring Boot中创建一个RESTful API实现代码和Spring MVC应用一样,只是不需要想Spring MVC那样先做很多配置,直接开始编写Controller内容

    @RestController
    public class HelloController {
         @RequestMapping("/hello")
         public String index(){
               return "Hello World";   
    }   
    
    }

    可以直接启动,访问页面http://localhost:8080/hello,我们可以看到返回了预期结果: Hello World

     

    配置详解

    配置文件

    Spring Boot的默认配置文件位置为src/main/resource/application.properties中,除了传统的properties文件之外,还支持现在被广泛推荐使用的YAML文件

    YAML采用类似大纲的缩进形式来表示

    environments:
        dev:
            url:http://dev.bar.com
            name:Developer Setup
        prod:
            url:http://foo.bar.com
            name:Developer Setup

    此外配置文件中还支持自定义参数,随机数,命令行参数,多环境配置,加载顺序等功能

    监控与管理

    在应用中增加spring-boot-starter-actuator模块功能能实现监控与管理,在pom中新增spring-boot-starter-actuator的依赖,重新启动在控制台上会显示一批端点定义

    原生端点

    原生端点分为以下三大类

    1. 应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等于Spring Boot应用密切相关的配置类信息
      • /autoconfig:获取应用的自动化配置报告
      • /beans:获取应用上下文创建的所有Bean
      • /configprops:获取应用中配置的属性信息报告
      • /env:获取应用所有可用的环境属性报告
      • /mappings:返回所有Spring MVC的控制器映射关系报告
      • /info:返回一些应用自定义的信息
    2. 度量指标类:获取应用程序运行过程中用于监控的度量指标,比如内存信息、线程池信息、HTTP请求统计等
      • /metrics:返回当前应用的各类重要度量指标,比如内存信息、线程信息、垃圾回收信息等
      • /health:获取应用的各类健康指标信息
      • /dump:暴露程序运行中的线程信息
      • /trace:返回基本的HTTP跟踪信息
    3. 操作控制类:提供了对应用的关闭等操作类功能
      • /shutdown:关闭应用
  • 相关阅读:
    搭建hexo个人博客
    Scanner类使用close()方法问题
    记录一次Ubuntu基础配置和美化
    Linux更换默认Shell
    python-成员修饰符
    ysoserial项目之URLDNS利用分析
    Apereo Cas4.x 反序列化漏洞复现之复现分析与利用
    JAVA反序列化漏洞之调试环境搭建(含ysoserial项目)
    虚拟机window7忘记密码,如何重置?
    多种类型SQL注入
  • 原文地址:https://www.cnblogs.com/hzzjj/p/10035655.html
Copyright © 2011-2022 走看看