spring+cloud学习(1)
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