微服务篇:springBoot

1 获取项目根路径

ClassUtils.getDefaultClassLoader().getResource("").getPath()

说明:

1

ClassUtils 导入的包为:[org.springframework.util.ClassUtils]

2

如需通过此路径再次指向指定的路径则需要添加指向路径的路径

ClassUtils.getDefaultClassLoader().getResource("").getPath()+“/指向指定路径的路径”

3

getResource 中不必填写

2

获取类的路径

className.class.getResource("").getPath()

说明:

1

className=“想获取的class”

3

可以把不修改/不会轻易修改的文件当作资源文件处理

1

存放位置:

2

取值方式:

示例代码:

定义:

Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重xml的配置,提供了各种启动器,在运行过程中自定配置, 开发者能快速上手。

优点

独立运行(内置了tomcat)/

简化配置/

无代码生成的xml配置/

应用监控/

使用 JavaConfig 有助于避免使用 XML/

[

JavaConfig 的优点:

面向对象的配置/减少或消除 XML 配置/类型安全和重构友好

]

配置文件

名称

用途

配置文件

application

 Spring Boot 项目的自动化配置

.properties 和 .yml

bootstrap

1使用SpringCloudConfig配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;

2一些固定的不能被覆盖的属性;

3一些加密/解密的场景;

注解

注解名称

注解名称

用途

SpringBootApplication

SpringBootConfiguration

组合了 @Configuration 注解,实现配置文件的功能

EnableAutoConfiguration

打开自动配置的功能,也可以关闭某个自动配置的选项

ComponentScan

Spring组件扫描

启动流程(粗略流程)

序号

事件名称

内容

 1

EventPublishingRunListener

在 SpringBoot 启动过程的不同阶段用来发射内置的生命周期事件;

2

准备环境变量

系统变量,环境变量,命令行参数

3

控制台打印 SpringBoot 的 bannner 标志

4

根据不同类型环境创建不同类型的 applicationcontext 容器

5

FailureAnalyzers

用来报告 SpringBoot 启动过程中的异常

6

为刚创建的容器对象做一些初始化工作

7

刷新容器

8

执行刷新容器后的后置处理逻辑

9

调用 ApplicationRunner 和 CommandLineRunner 的 run 方法

加载业务数据

10

报告启动异常

11

最终返回容器对象

运行特定的代码

可以实现接口 ApplicationRunner 或者 CommandLineRunner,这两个接口实现方式一样,它们都只提供了一个 run 方法

Spring Boot 读取配置的方式

a:@Value注解读取方式/@ConfigurationProperties注解读取方式

b:读取指定文件:

@PropertySource+@Value注解读取方式(不支持yml)

@PropertySource+@ConfigurationProperties注解读取方式

c:Environment读取方式

Spring Boot 配置加载顺序

1、properties文件;

2、YAML文件;

3、系统环境变量;

4、命令行参数

配置文件加载顺序

项目根目录中config目录下/

项目根目录下/

项目resources目录中config目录下/

项目的resources目录下(高优先级的内容会覆盖底优先级的内容)

兼容spring,实现方式

ImportResource

保护 Spring Boot 应用方法

1在生产中使用HTTPS

2使用Snyk检查你的依赖关系

3升级到最新版本

4启用CSRF保护

5使用内容安全策略防止XSS攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值