目录
@Configuration注解
proxyBeanMethods属性
在springboot2添加了该属性,默认是true 。true:使用代理对象调用组件,只要类中有组件就不会创建新的组件,保持组件单实例。false:不使用代理对象调用组件,每次调用组件都会创建新的对象,组件不再单实例。
在true情况下会保持组件依赖。在false情况下不组件依赖,在创建实例时不检查容器中有无该组件,使用会快一些。
加了@Configuration代表当前类是一个配置类
boolean proxyBeanMethods() default true;
@bean
在bean下注册的组件是单实例的,无论调用多少次,调用的都是同一个bean
@Import注解
可以直接导入类作为组件,组件名为全类名
@Conditional注解
对添加组件进行各种条件限制
@ImportResoure注解
导入已经配置好bean的xml文件,不用重新配置到配置类上
@ConfigurationProperties注解
将配置文件中的属性配置到类上;使类的默认值为属性文件中配置的值(配和@Component使用。或者单用,然后在Controller层添加@EnableConfigurationProperties(car.class),1.实现car的属性绑定功能,2.实现car的自动注册到容器中)
自动配置源码总结
1.Springboot先加载全部的自动配置类 xxxxAutoConfiguration
2.每个自动配置类按照条件进行生效,默认都会和配置文件绑定指定的值。从xxxx.Properties里面拿取。而xxxx.Properties是和配置文件进行绑定了的。
3.当配置类生效的时候,会往容器中装配相关的组件
4.当容器中有这些组件的时候,相关的功能就有了
5.定制相关组件的配置
1.用户直接自己使用@Bean替换底层的组件(不推荐)
2.用户直接区看这个组件获取的是什么配置文件。直接复制到自己的配置文件中去修改
xxxAutoConfiguration---->组件---->xxxxProperties里面拿到值---->配置到application.properties
一些小工具
可以在配置文件中配置debug=true 开启自动配置报告 Negative(不生效)Positive(生效)
lombok
需导入依赖+IDEA按照lombok方可使用
简化bean,实现了get()set()tostring()等方法的封装-->@Data
dev-tools
导入依赖后使用
以后改变代码不用rebuild了 直接ctrl+F9 进行编译就行 dev-tools会帮我们进行加载。相比之前快很多。这个插件只是restart,如果想热部署,需要付费在IDEA中使用。
基础web内容
静态资源访问
静态资源路径:called/static(or /public or /resources or /META-INF/resources)
访问:项目根目录/+静态资源名(可通过spring.mvc.static-path-pattern=/resources/** 修改静态资源访问前缀)
原理:静态映射/**
测试:将Controller页面设置为静态资源名,优先访问Controller页面。可得:请求进来,先去Controller查看是否能处理,不能处理就寻找静态资源处理。如果再不行,就返回404页面。
可以改变静态资源存储位置:spring.web.resources.static-locations
欢迎页面
1.在静态资源下放一个index.html作为欢迎页
可以配置静态资源的路径,但是不可以配置静态资源的访问前缀,不然index.html不能默认访问
2.Controller处理index.html
静态资源配置原理【源码】
第25集
Rest映射及源码解析