spring+cloud学习

Posted 马云12314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring+cloud学习相关的知识,希望对你有一定的参考价值。

Starter POMs:是一套一站式的Spring相关技术解决方案。

1.spring-boot-starter-web:全栈Web开发模块,包含嵌入式Tomcat、Spring MVC。

2.spring-boot-starter-test:通用测试模块,包含JUnit、Hamcrest、Mockito。

3.spring-boot-starter-parent

-----

4.spring-boot-starter-jdbc / spring-boot-starter-data-jpa

5.spring-boot-starter-actuator (监控组件)

 

Spring Boot的Maven插件:

 启动项目:mvn spring-boot:run可以快速启动Spring Boot项目。

在服务器上运行的时候:通常使用mvn install讲工程打包成Jar包,再通过java -jar xxx.jar  --server.port=9999启动运行项目。

运行参数中,“--xx”表示对application.properties中的属性xx进行加载。

 ♥(ˆ◡ˆԅ):YAML:Yet Another Markup Language.

指定环境,指定项目端口:

server:

  port:8881

---

spring:

  profiles:test

server:

  port:8882

---

spring:

  profiles:dev

server:

  port_8883

默认是8881端口。

mention:YAML目前不能通过@PropertySource注解进行加载配置。但是,YAML将属性加载到内存中保存的时候是有序的,所以当配置文件中的信息需要具备顺序的含义时,YAML的配置方式比起properties更有优势。

 *.properties配置文件中的属性数据,可以通过@Value注解加载。

eg.

 ————> 

mention:@Value注解加载属性配置的时候可以支持两种表达式来进行配置:

1.一种是上面的PlaceHolder方式,格式为${....},大括号内为PlaceHolder。

2.一种是SpEL表达式,格式为#{...},大括号内为SpELl表达式。

 随机配置方式:

 Spring Boot多环境配置;

多环境配置的文件名需要满足:application-{profile}.properties。其中,profile表示环境标识。

具体哪个配置文件将被加载,需要在application.properties文件中通过spring.prolfile.active来设置。

 actuator监控组件使用:

https://blog.csdn.net/liupeifeng3514/article/details/80558414

首先Pom.xml配置:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
然后,在application.properties中配置:
# 加载所有的端点/默认只加载了 info / health
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
然后运行项目;
访问监控接口:http://localhost:8888/actuator/health

 

 mark:监控接口参数图表

 actuator组件中实现的原生endpoint,根据作用,可分为三类:

1.应用配置类:获取应用程序中加载的应用配置,环境变量,自动化配置报告等与Spring Boot 应用密切相关的配置类信息。

  1、/autoconfig  条件匹配(或者不成功)成功的自动化配置

  2、/beans  返回的所有创建的Bean,包含Bean的名称(bean)、scope(作用域)、type(Bean的Java类型)、resource(class文件的具体路径)、dependencies(依赖的Bean名称)

  3、/configprops

  4、/env:获取应用所有可用的环境属性报告:包括应用的配置属性,环境变量、JVM属性。可用配合@ConfigurationProperties注解将他们引入项目中。

  5、/mappings:返回所有Spring MVC的控制映射器关系报告。

  6、/info:改端点用来返回用户自定义的信息。

2.度量指标类:获取应用程序运行过程中用于监控的度量指标,比如内存信息,线程池信息,HTTP请求统计等。

  1、/metrics:返回当前应用的各类重要度量指标,like:内存信息、线程信息、垃圾回收信息。

  2、/health:

  3、/dump:用来暴露程序运行过程中的线程信息 。

  4、/trace:返回HTTP跟踪信息。

3.操作控制类:提供了对应用的关闭操作等操作类功能。

  1、/shutdown

以上是关于spring+cloud学习的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud 与微服务学习总结(18)—— Spring Cloud Gateway 2.0 详解

spring cloud 学习 - feign入门

spring cloud 学习 - hystrix 服务熔断处理

spring cloud深入学习-----配置中心svn示例和refresh

Spring Cloud学习系列第四篇声明式服务调用

spring cloud 学习 - config server