当前位置: 首页 > >

深度解读Spring Boot核心原理

发布时间:

参考自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
@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类测试



友情链接: