1 SpringBoot

核心关键特性

· 起步依赖(Starter Dependency)。

· 自动配置(Auto Configuration)。

· 健康检查(Actator)-监控。

· 嵌入式服务(Tomcat,Jetty)

1.1 开箱即用

如果需要引入第三方的"工具/功能",只需要经过少量的配置/或者不做任何配置.则就可以使用该功能

1.2 SpringBoot程序启动加载过程

元注解说明:

@Target(ElementType.TYPE) 对哪个元素有效 对类有效
@Retention(RetentionPolicy.RUNTIME) 什么时候起作用 运行期有效
@Documented 是否支持生成文档
@Inherited 该注解是否可以被继承

SpringBootConfiguration说明

标识主启动类是一个大型的配置文件,启动时会加载所有的小的配置文件

@ComponentScan(excludeFilters = {xxxx)

在springboot容器启动时,不需要加载某些过滤器.由于parent标签中定义了所有的关联的jar包文件信息.则启动时有可能导致意外的发生,所有需要提前剔除

@AutoConfigurationPackage

当程序启动时,会根据主启动类的包路径,扫描其子孙包,所以springboot以后写代码时应该在其子孙包下编辑

@AutoConfigurationImportSelector

该配置中内部集成了所有的SpringBoot中的选择器.这些选择器的主要的任务就是查看是否有自己选择器所管理的启动项的配置. 如果发现该启动项,那么选择器就会执行该启动项,从而实现了开箱即用的操作

1.3 SpringBoot高级用法

1.3.1 为属性赋值操作

当程序中出现了频繁变化的数据时,如果采用人为的方式进行修改并且变异打包则导致代码的耦合性较高.不便于维护.所以能否为属性动态赋值

1.3.1.1 YML文件赋值

YML文件语法

#  1. key:(空格)  value

#  2. key与key之间有层级的缩进关系.

server:

port: 8090

属性赋值操作,编辑属性时注意前缀.  只要springboot启动该数据就会被写入内存中 key-value格式

redis:

host: 192.168.126.130

port: 6379

@Value("${redis.host}") //spel表达式

private String  host;   // = "192.168.126.130";      private String  host;   // = "192.168.126.130";

@Value("${redis.port}")

private Integer port;   // = 6379

1.3.1.2 properties配置文件赋值

由于yml配置文件中的数据一般都是系统级别的数据,所以一般的业务数据都会写在properties文件中,教YML文件赋值繁琐一些

pro文件语法   1.key=value     2.不要添加多余的“”     3.key不要重复

pro.redis.host=111.111.111

pro.redis.port=6379

//动态的导入pro配置文件,交给spring容器进行加载.

@PropertySource("classpath:/properties/redis.properties")

@Value("${pro.redis.host}")

private String proHost;

@Value("${pro.redis.port}")

private Integer getPort;

1.4 环境切换

由于开发时都是链接公司自己的数据库/服务器等.把这个环境称之为"开发环境."当开发完成之后需要进行上线部署,则需要链接"生产环境",如果频繁的切换环境,则导致项目由于修改错误,导致问题的发生.

第一份配置文件,用来指定默认的环境标识

spring:

profiles:

active: prod

--- 分隔符 用来分隔环境

spring: #指定环境的名称

profiles: dev

server:

port: 8090

redis:

host: 192.168.126.129

port: 6379

--- 分隔符 用来分隔环境

spring: #指定环境的名称

profiles:  prod


一日还
1 声望0 粉丝