参考自csdn的直播课:深度解读Spring Boot核心原理
一、Spring框架
Ioc:控制反转 把Bean交给Ioc容器去管理。可以通过 依赖查找、依赖注入【DI】
AOP:代理模式。如:日志、事务
只有上面的思想就可以实现,但是会有不方便之处【重复性的工作】。
spring核心包
application.xml、spring-mvc.xml
web.xml 每次配置DispatcherServlet
spring整合第三方一些依赖包,如:mybatis
spring的xml方式实现:
1、bean的setter注入方式,在app.xml中配置:
3、bean的获取:
2、每来一个bean配置一次,优化:启动包扫描的模式
spring的注解方式实现:
1、bean的setter注入方式--注解方式:
3、bean的获取--注解方式:
2、每来一个bean配置一次,优化:启动包扫描的模式。@ComponentScan注解 + @Component注解配合使用(只有@Component、@Controller、@Service等修饰的类才能被扫描到)
4、通过@ComponentScan 负责扫描包 + @Component 表明该类需要被Ioc容器管理 + @Configuration 解决我们自定义的已知类的路径
5、还存在一个问题,如果存在第三方bean怎么办?@Import(xxx.class)
Spring Boot因此出现。
二、Spring Boot对于各种Bean的自动装配Ioc容器
- 单个bean
- 多个bean
@ComponentScan 默认扫描当前类所在的根路径 + @Component(...已知路径...) 表明该类需要被Ioc容器管理 + @Configuration - 第三方组件的bean,如何交给Ioc容器管理?
参考自定义starter:Spring Boot学习之---自定义starter(十三)
Spring Boot的启动流程参考:Spring Boot学习之---探究HelloWorld 与 快速创建(三)
三、从Spring容器向Springboot进化
对SS框架进行再封装。
要定义自己的SpringBoot容器 一、去除.xml文件 1、去除Spring bean配置的 xml文件 使用注解可以解决 2、去除web.xml文件 DispatcherServlet --> 自己写一个 ContextLoaderListener --> new ApplicationContext 二、内置Tomcat,不需要手动将项目放入到Tomcat内
3.1、代码实现
3.2、编写Controller类测试