且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

动力节点最新版王鹤老师Springboot学习笔记

更新时间:2022-06-17 09:42:48

记录一下来自B站动力节点王鹤老师讲的springboot学习笔记


视频地址:https://www.bilibili.com/video/BV1XQ4y1m7ex


004-JavaConfig配置容器 P4


1. @Bean

加在配置类中的方法上

作用相当于配置文件中的<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工具


<parent>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-parent</artifactId>

   <version>2.1.12.RELEASE</version>

   <relativePath />

</parent>

<!--    当前项目的gav-->

   <groupId>com.rongrong.springboot</groupId>

   <artifactId>springboot-rr</artifactId>

   <version>1.0-SNAPSHOT</version>


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方法之后),自动执行。


作用:可以完成自定义的在容器对象创建好的一些操作