尚硅谷雷神SpringBoot2零基础入门学习笔记(自用)
1、第9集中,在讲容器功能 组件添加 @Configuration时,MainApplication.java@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan("com.atguigu.boot")public class MainApplication {public static void main(String[]
·
1、第9集中,在讲容器功能 组件添加 @Configuration时,
MainApplication.java
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.atguigu.boot")
public class MainApplication {
public static void main(String[] args) {
//1、返回我们IOC容器
ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
//2、查看容器里面的组件
String[] names = run.getBeanDefinitionNames();
for (String name : names) {
System.out.println(name);
}
//3、从容器中获取组件
Pet tom01 = run.getBean("tom", Pet.class);
Pet tom02 = run.getBean("tom", Pet.class);
System.out.println("组件:"+(tom01 == tom02));//输出始终为true
}
}
MyConfig.java
@Configuration(proxyBeanMethods = false) //告诉SpringBoot这是一个配置类 == 配置文件
public class MyConfig {
@Bean("tom")
public Pet tomcatPet(){
return new Pet("tomcat");
}
}
在容器中的始终是同一个bean。不管是full还是lite模式,容器中的bean始终是容器刷新时注入的。容器只会注入一次,所以取出来的是同一个对象。另外容器默认是单例的。
2、yaml
yml先扫描,如果properties中的内容和yml重复了,properties配置会覆盖yml的配置;
properties>yml>yaml
例如:
person:
userName: zhangsan
boss: false
birth: 2019/12/12 20:12:33
age: 18
字符串如果不加双引号“”
和单引号''
,则默认是单引号
单引号中的\不表示转义,双引号中的\表示转义字符,例如:
person:
userName: "zhangsan \n 李四"
3、自定义的类和配置文件(yaml)绑定一般没有提示,导入下面依赖就会有提示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
我们正常来写属性是这样的:
person:
userName: zhangsan
用提示自动填充属性是这样的:
person:
user-name: zhangsan
这两者没有区别,-n就是代表大写的N
4、
/**拦截所有文件包括子文件夹里的,/*只拦截当前目录下
5、
spring:
mvc:
static-path-pattern: /res/** #代表访问静态资源都需要带res前缀
resources:
static-locations: [classpath:/haha/] #代表让访问的静态资源都在指定的静态资源文件夹路径下找
6、idea中打开继承树的快捷键默认是Ctrl+H
7、
更多推荐
已为社区贡献1条内容
所有评论(0)