动力节点王鹤老师最新版的Springboot学习笔记整理
记录一下,来自B站动力节点王鹤老师讲的springboot学习笔记
视频地址:https://www.bilibili.com/video/BV1XQ4y1m7ex
004-JavaConfig配置容器 P4
1. @Bean
加在配置类中的方法上
作用相当于配置文件中的
方法的返回值对象注入到容器中
id 默认是方法名
@Bean的name属性相当于 id
2.@ImportRecource
加在配置类的上面
作用:导入其他的配置文件
格式:@ImportRecource(value={},{}...)
006-读取属性配置文件@PropertyResource P6
3.@PropertySource
作用:读取配置文件中properties属性
在resources目录下,创建properties文件,使用k=v的格式提供数据
在某个实体类的属性上使用@Value(“${配置文件中定义的属性名}”)。该实体类要使用@Componet
在配置类上方使用注解
@PropertySource(value = "classpath:config.properties")
@ComponentScan(basePackages = "com.rongrong.model")
010-了解pom.xml P10
增强版的maven工具
org.springframework.boot spring-boot-starter-parent 2.1.12.RELEASE com.rongrong.springboot springboot-rr 1.0-SNAPSHOT
015-SpringBootApplication注解 P15
由以下三个注解组成
- @SpringBootConfiguration
可以将当前类当作配置文件使用,可以使用bean注解注入对象
- @EnableAutoConfiguration
启动自动配置,把java对象配置好,注入到容器中
- @ComponentScan
扫描器,找到注解,根据注解的功能创建对象,给属性赋值
默认扫描的包:@ComponentScan标注类所在包及子包下
017-properties配置文件 P17
properties文件 (k=v)
#设置访问应用上下文路径,contextpath
server.servlet.context-path=/myboot
yml文件(k:v)(推荐使用)
020-创建多环境配置文件 P20
例如开发环境,测试环境,生产环境
为每个环境创建一个配置文件\
命名规则:application-环境标识.properties|yml
配置文件读取顺序(properties优先级高于yml)
根目录config文件夹properties文件,yml文件
项目根目录下的配置文件
resource/config/properties
resource/properties
在application.properties中激活开发环境
spring.profiles.acticve=dev
022-使用@Value读取数据 P22
@Value注解
获取配置文件中自定义的属性
格式:@Value("${}")
023-把配置文件的数据映射为java对象 P23
@ConfigurationProperties注解:将配置文件中的数据映射成java对象
格式:@Component //创建子类的对象
@ConfigurationProperties(prefix = "school")
prefix为属性的前缀
注意:类中的属性名要与配置文件中定义的一致
027-手工获取容器中对象 P27
场景:想通过代码,从容器中获取对象
场景:做测试时
通过run方法的返回值获取容器
SpringApplication.run(Application.class,args)
例子:
public static void main(String[] args) { //获取容器对象 ConfigurableApplicationContext run = SpringApplication.run(Application.class, args); //从容器中获取对象 UserService userService = (UserService) run.getBean("userService"); userService.sayhello("rongrong"); } }
028-使用CommandLineRunner P28
CommandLineRunner接口和ApplicationRunner接口
都有一个run方法
执行时间:在容器对象创建好后(启动类执行run方法之后),自动执行。
作用:可以完成自定义的在容器对象创建好的一些操作
?