Spring两大核心
Ioc和Aop
Ioc容器技术(也叫控制反转)
Spring最核心的点在于容器技术,就是Spring启动的时候会生成一个容器,何为容器,在这里是管理对象的对象,Spring的容器就是一个实现了BeanFactory接口的可实例化的类。然后该对象会扫描注解@Bean,xml中<bean/>等每一个bean对象,然后解析形成一个hashmap,存储着是对象名至CLASS文件的映射关系。在程序运行时调用该对象时首先会去容器里面寻找该服务,发现没有该class信息,再去hashmap中初始化对象,放入容器中,然后将该类注入到对象中。
-关键点1:由容器控制bean生成,并实现注入。
-关键点2:默认一个类只有一个实例,因为bean存储在容器中,所以不会重复创建。
Bean的生命周期
建立
1 . Bean的建立
由BeanFactory读取Bean定义文件,并生成各个实例。
初始化
2 . 依赖注入
3.setBeanName()
4.setBeanFactory()
5.processBeforeInitialization()
初始化之前都会执行这个实例的processBeforeInitialization()方法。
6.afterPropertiesSet()
7.init-method
8.processAfterInitialization()
业务逻辑
9.使用Bean做一些业务逻辑
销毁
10.destroy()
11.destroy-method
Aop(面向切面编程)
有两种实现方式 :基于jdk和cglib
jdk是代理类和原类别继承统一切口
cg是代理类继承原类别
总结:Spring其实并没有实现什么,而是提供了容器,由容器来管理对象依赖问题,打好了地基使得可以在上面扩展实现什么服务,扩展实现一个服务直接扔到容器中,其他要用就用,而不是自己来管理(贼麻烦)。
Spring MVC
Spring MVC是在Spring基础上提供MVC服务。
何为MVC服务,Model,View,Control。
即将web服务解耦合,是的后台服务代码和前端页面机型分割,中间交互由Control进行控制。
通过该服务可以让我们前后端分离,中间通过dispatcherServlet控制(Spring MVC实现),专注于业务开发。
Spring MVC Servlet tomcat SpringBoot关系理解
Servlet负责IO读取写入,Spring MVC中dispatcherServlet继承Servlet调用请求对应的服务,tomcat是一个servlet容器,当请求并发过来,创建相应的servlet处理请求,对单个servlet来说是单线程的。SpringBoot中内置了tomcat容器可以直接运行。
Spring Boot
Spring Boot的出现是由于Spring配置依赖于xml文件,还有一些缺失服务,所以出现了Spring Boot。
网友评论