
4、核心技能
1. 常用注解
SpringBoot 摒弃 XML 配置方式,改为全注解驱动
1. 组件注册
- @Configuration 自定义配置类、@SpringBootConfiguration 用来标注SpringBoot主启动类的
- @Bean 可以在自定义配置类面创建对象交给ioc容器,组件在容器中的名字为方法名、@Scope 在application类上直接写注解,然后写上多例就可以了prototype
- 假如第三方包任意对象想注入组件,跟上面那个一样或者写一个@import (类)直接导入组件名字默认全类名
- @Controller、@Service、@Repository、@Component
- @Import
- @ComponentScan
2. 条件注解
- @ConditionalOnXxx
- 如果注解指定的条件成立则触发指定行为
- ConditionOnClass如果类路径中存在这个类,则触发指定行为,
- ConditionOnMissingClass如果类路径中不存在这个类,则触发指定行为,
- ConditionOnBean如果容器存在这个Bean,则触发行为
- 场景模拟:
- 如果存在fastsqlexception ,给容器放一个cat组件 名叫cat01
- 否则放一个dog组件,名叫dog01
- 如果系统中有dog01这个组件就给容器放一个user组件,名叫张三
- 否则就放一个user,名叫lisi
3. 属性绑定
- @ConfigurationProperties
- 将容器中任意组件属性值和配置文件中某一配置项进行绑定 例如使用component 或者在配置类里进行创建
- 给注册组件
- 使用@ConfigurationProperties(prefix前缀名= " " ) 可以放在类上或者方法上
- @EnableConfigurationProperties
- 复合注解 可以把类方法容器里,同时可以直接进行属性绑定,快速注册 导入第三方写好的组件 然后加上全类名 SpringBoot默认只扫描主类里的包
主程序
三个注解组成
SpringBootConfiguration、Enableautocoonfiguration、Conmponentscan
默认只能扫描主程序所在的包及其下面的子包,扫描不到spring-boot-autoconfigure包中官方写好的配置类
Enableautoconfiguration SpringBoot开启自动配置的核心
Yaml配置文件
特点:方便读写,层次分明,
基本语法
属性有层级关系,使用点来表示层级关系 使用下一行带来空格 ,k和v之间必须要有空格

1.大小写敏感,有层级关系要加空格 左侧对齐相同层级
2.支持的写法,哈希(hash)/映射(map)/字典(dictionary)
3.可以在pom文件中引入插件lombok的,尽在编译期间生效,这样在类里面写上@Data可以直接生成get/set方法,JavaBean属性的
@NoArgsConstructor // 自动生成无参构造器
@AllArgsConstructor 自动生成全参构造器

在properties里面加属性
4.在yaml里面 数组


这个是大文本的 > 的注意事项(若没有缩进,会压缩换行,若有缩进会保留原格式)
日志配置
日志框架

SpringBoot默认用的什么,
spring5以后直接写了 commons-logging 被 spring 直接写了
默认用的logback
SpringBoot怎么把日志配置好的:

日志格式

可以在配置文件里面做修改 日志格式
日志级别

调整日记级别甚至是每一个包下面的日志级别
logging.level.root =
拿到包名 logging.level.包名 =
日志分组


自定义的两个组,web和数据库的
文件输出
想要实现文件保存,有关键的logging
//指定文件名字
1. 只写名字,就生成到当前项目同位置的demo.log
2. 也可以写路径加名字
logging.file.name=
//指定文件地址
logging.file.path=
如果有name 和 path name的优先级高于path

文件归档与滚动切割
归档:每天的日志单独存一个文档中
切割:每个文件只要求?mb,超过大小切割成另外一个文档

自定义配置
