spring是什么,以及他的优点和核心

什么是spring

spring是一个开放源代码的设计层面框架 ,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

为什么要使用spring:

1:spring的aop支持一些事务、日志等进行集中管理,提高复用性

2:spring 提供了与第三方 持久层框架的良好整合 。

3:spring框架不强制应用完全依赖于spirng,开发者可以自由选择spirng框架的部分或全部

Spring的两大核心:

Aop:面向切面编程,aop技术底层也是采用的代理技术,代理技术有两种:1:基于JDK的动态代理,2:基于CGLIB的动态 代理

AOP的用处以及好处:AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如(事务处理、日志管理、权限管理、权限控制等),封装起来,便于减少系统的重复代码,降低模块的耦合度,并有利于未来的可操作性和可维护性。

IOC:IOC即控制反转,不是什么技术,而是一种设计思想。IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

控制反转:

控制:

谁控制谁:当然是ioc容器控制了对象

控制了什么:主要控制了外部资源获取(不止对象包括比如文件等)

反转:

为什么是反转:因为容器帮我们查找即注入依赖对象,对象只是被动的接受依赖对象

什么 被反转了:依赖的对象被反转了

DI:DI即依赖注入,依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为了提升组建重用的频率,并未系统搭建一个灵活、可扩展的平台。

依赖注入:

依赖:

谁依赖谁:应用程序依赖于ioc容器

为什么需要依赖:应用程序需要ioc容器来提供对象需要的外部资源

注入:

谁注入谁:ioc容器注入应用程序的某个对象,应用程序依赖的对象

注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常用数据)

IOC交给容器控制的好处:Tomcat的内存为64Mb,后来加大了内存容量,java中这个管家婆就是垃圾回收机制,但是她不是那么的智能,不能帮我们清理干净。在一个大项目中,如果我们想用对象就new对象的话,那会造成内存过大,java自动回收机制也无法替我们回收干净,有可能会造成内存溢出。而spring他是在一个线程池上创建的对象,当我们使用的时候就拿出来,不用的时候就挂起,很大程度的解决了内存溢出的问题。

猜你喜欢

转载自blog.csdn.net/qq_42430767/article/details/84847279