设计之窗网站,手机网站cms,公司名称大全及寓意,展台展览spring的优缺点
IOC集中管理对象#xff0c;对象之间解耦#xff0c;方便维护对象AOP在不修改原代码的情况下#xff0c;实现一些拦截提供众多辅助类#xff0c;方便开发方便集成各种优秀框架
紧耦合和松耦合
松耦合可以使用单一职责原则、接口分离原则、依赖倒置原则
…spring的优缺点
IOC集中管理对象对象之间解耦方便维护对象AOP在不修改原代码的情况下实现一些拦截提供众多辅助类方便开发方便集成各种优秀框架
紧耦合和松耦合
松耦合可以使用单一职责原则、接口分离原则、依赖倒置原则
IOC
**概念**依赖控制反转在IOC之前一个对象要引入另一个对象就要自己new用完之后也要自己释放对象之间耦合较深出现IOC之后由spring来控制对象注入引用对象只需要用就可以了不需要再管理注入对象的生命周期。
**DI**依赖注入。运行时依赖 IoC 容器来动态注入对象所需要的外部依赖。通过反射实现的。
**IOC的实现原理**通过工厂模式和反射机制beanFactory
AOP
面向切面多个对象的公共逻辑抽取。在内存中生成一个aop对象包含原对象的所有方法并在切点执行完成后调用原对象的方法。
连接点Join point指程序运行过程中所执行的方法。 切面Aspect被抽取出来的公共模块 切点Pointcut切点用于定义 要对哪些Join point进行拦截。 通知 advicebefore after around AfterReturning AfterThrowing 织入Weaving通过动态代理在目标对象Target的方法即连接点Join point中执行增强逻辑Advice的过程。
Spring容器的启动流程
实例化Spring容器注册BeanDefination调用refresh刷新容器。 1、初始化Spring容器注册内置的BeanPostProcessor的BeanDefinition到容器中 2、将配置类的BeanDefinition注册到容器中 3、调用refresh()方法刷新容器
BeanFactory和ApplicationContext有什么区别
BeanFactory是Spring里面最底层的接口是IoC的核心定义了IoC的基本功能包含了各种Bean的定义、加载、实例化依赖注入和生命周期管理。ApplicationContext接口作为BeanFactory的子类除了提供BeanFactory所具有的功能外
Spring Bean的生命周期
Spring Bean的生命周期只有四个阶段实例化 Instantiation -- 属性赋值 Populate -- 初始化 Initialization -- 销毁 Destruction
Spring中bean的作用域
1singleton默认作用域单例bean每个容器中只有一个bean的实例。 2prototype为每一个bean请求创建一个实例。 3request为每一个request请求创建一个实例在请求完成以后bean会失效并被垃圾回收器回收。 4session与request范围类似同一个session会话共享一个实例不同会话使用不同的实例。 5global-session全局作用域所有会话共享一个实例。如果想要声明让所有会话共享的存储变量的话那么这全局变量需要存储在global-session中。
BeanFactory的作用
1、是Spring中非常核心的一个顶层接口 2、实现了简单工厂模式通过getBean来获取 3、有非常多的实现类最强大的工厂是DefaultListableBeanFactory。Spring底层就是使用的该实现工厂进行生产Bean的 4、BeanFactory也是容器管理Bean的生命周期
BeanFactory和ApplicationContext的区别
ApplicationContext实现了FactoryBean他不负责生产只负责通知BeanFactory去生产Bean在此基础上还做了 1、注册bean如果只用FactoryBean还需要注册才能生产ApplicationContext帮我们做了注册 2、加载环境变量 3、实现时间监听 4、支持多语言 5、注册很多对外扩展点
循环依赖如何被解决
只能解决通过setter方法进行依赖注入且是在单例模式下产生的循环依赖问题。 三级缓存