配置优先级
最终得到以下配置优先级:(从低到高)
Bean管理
获取bean
bean作用域
第三方bean
Springboot原理
起步依赖
原理就是依赖传递-通过引入web依赖将所有必要的都同时引入
自动配置--面试高频题目
即:在pom文件中引入依赖后,他是如何自动配置给IOC容器的
springboot采用第四种方式
自动配置--源码分析
首先从该注解开始追踪:
这个注解是springboot中最重要的注解,由以下三个注解组成
再来看其中第三个注解
这个@Import注解中实现了一个方法
String [] selectImports(...)
该数组封装的是要导入springIOC容器的类的全类名,告诉IOC哪些需要他管理
该方法加载了两个文件
第一个是新版自动配置文件,3.0版本以后会删除第二个老版本的
另一个自动配置常用注解:
举例:只有当前项目中含有此()中的类时才会把当前注解的类加入IOC容器当中
其他Conditional注解也很类似,都是要求满足某某情况下,才将当前类注入IOC容器
这使得springboot很智能,他会自动判断当前环境下什么东西需要他来配置,而你手动配置的他便不会配置.
自动配置--自定义starter(起步依赖)
Web后端开发总结
现在开发基本都基于三层架构->如果我们要使用通用方法去处理一些共性的请求,那么我们可以使用拦截器.过滤器