springboot完整版2

68 阅读1分钟

监控

1659076534705.png

image.png

SpringbootAdmin

fd5e18aa7a189573799ab7fb4415cbf.png

启动SpringbootAdmin服务器(服务端)

28e861b215693d506781d129e14d632.png

6f552e09d1db93e4e77645c9f5c045d.png

程序申请被监控(客户端)

1659084952672.png 87ac92bb1f9fbe91d15ff98fc65947d.png

  • 允许监控服务器监控细节

1659083848510.png

actuator

展示的信息(端点)

111dc78de0c62c457eb8b8738287af5.png 3ed10d554b134b6128b686af740f6de.png

端点

95d0093277cf3fcc0ac0a328eb5d02b.png

1c048d959f130f0fa2e428dcfa8941f.png

1659093099311.png

info端点指标控制

8695f55a74ac35ea9f0eaea7f5584c4.png

34e619eb601663baa588bab3c6e3f1a.png

  • 获取动态数据 withDetails() 获取一组数据对 withDetail()获取一对数据 1659094446753.png

health

1659145794201.png

添加自定义健康选项

fc4f23cb06408a2cf9d0fe670341361.png

metrics

1659150894605.png

自定义端点

7da93bf2228a9160234d03f0bce1405.png

=============原理篇==============

bean的加载方式

声明bean xml方式 方法1

8205c25a2c16f802e6ed692e55aab3f.png

声明bean 注解方式 方法2

c7f6c69b44fc140240b32ce70f9419b.png

image.png

声明bean 无配置文件方式 方法3

  • 使用配置类

0fec9b5313261a718212e991f822693.png

FactoryBean

10ad55880b8abc0d34af724be468c34.png

c449f080b0e912544cf1bc3706cd2bc.png

proxyBeanMethod属性

  • 有的项目时间久远使用了xml配置,新项目需要整合老项目,如何读取之前的xml文件中的bean

1659167868555.png

e4901282b9619268b328f19db4428a1.png

configuration

1659169280531.png

声明bean Import方式 方法4

有效的解耦

a29301f1bdf65296b47ef49f4628206.jpg

cab59b4364b996d0d294ea02245c5b9.png

1659321778583.png

声明bean 手动添加 方法5

f4cc71054323edb3a3acb312f353f0d.png

声明bean ImportSelector接口 方法6

619941d7814bf83beccf7da6139de62.jpg

75af5bc32211e71802eaf310a982995.png

声明bean importBeanDefinitionRegistrar 方法7

image.png

声明bean 方法8

  • 多次导入,最后一个为最终配置 010d228b7b1c5fc04b420670bea0920.png
  • 直接确定最终配置 1659334618604.png

bean的加载控制 (编程式)

592731be376fcb7a2ac0c62b78d4887.png

bean的加载控制 (注解类)

1659338109112.png

1659339517433.png

bean依赖属性配置

a2293017efcc1b3e11cc2d73ac658a9.png

0c1e859adb41556477387f033e2d19f.png

fb8f9e7c4a6207e5f25d57aea116745.png

2f9933ba33400e41d254d50c770fd45.png

a5a7078a5696eb557707ae9b02edc79.png 07fae0d3ddf9f40902b5267e2c12c9f.png

8d4cd7f573380fe6cd5a57b919dcc6f.png

自动配置原理 autoConfiguration

  • @SpringBootApplication bf21df056963a30edd53f07344d907b.png

自动配置原理

1659432887023.png

e48455060e06aebb6341b90c83c356a.png

d281e930459725c1be5f05f877adb70.png

自定义start的案例

ef5686a5fde288a85c6cf4a737a8374.png

09900e31772e757c46d9b93223549b8.png

1659443039042.png

  • 在spring.factories文件中添加路径 1659444199743.png

de0b2104a8e9b742159daed795fe0b9.png 192623d3efc4bdb02a8ba4b75800e5d.png

image.png

  • 在别的项目中调用

1659444101315.png e165413ea434c819f05029829c2ef97.png
1659444326437.png

添加定时任务

a6994c20ddd2771472b6d45ba683209.png

ef98af65e15daad8e2bf866a956cdec.png

使用属性配置设置功能参数1

1659499240579.png

1659499316610.png 2d83e55487f2fe0d73b6738ed8d22c6.png

1659499282050.png

使用属性配置设置功能参数 (定时器参数)

image.png

9a1934dc2963fd287c4ac7b63ad8ab9.png

79293ca723216d96721ae032b770920.png

拦截器开发

  • 每个方法前都要声明 太过于麻烦 使用拦截器简化 e165413ea434c819f05029829c2ef97.png
  • 开发拦截器

96b460b691e954c68b3b7c83b75f51d.png

6209edcc4515b60b4cebcd2b9ef5370.png

  • 注意拦截器都写在starter中的 1d4adbaaec2c2caf374ab4dabaf0ac4.png

开启yml提示功能

0b0a0a8202c1be90a1248a99943dd10.png

  • 发布的时候记得把导入的坐标删掉,否则会出现两个提示 1659517994964.png

50686b07ccd21d30988a9bbe51a55de.png

  • 提示发内容来自于配置bean的注释

28e020c7f1752a63f7c3cc5bf2f92f9.png

  • 可选择属性的提醒

67031ad62b76d45fec85d0632aac663.png

1659518283162.png

springboot程序启动过程解析

812b9364c2412f0daeb14207923e435.png