Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring不仅可以用于服务器端开发,也可以应用于任何Java应用的开发中。关于Spring框架优点的总结,具体如下:
● 非侵入式设计
Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。
● 方便解耦、简化开发
Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,大大的降低了组件之间的耦合性。
● 支持AOP
Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性。
● 支持声明式事务处理
只需要通过配置就可以完成对事务的管理,而无需手动编程。
● 方便程序的测试
Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。
● 方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持。
● 降低Java EE API的使用难度
Spring对Java EE开发中非常难用的一些API(如:JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。
Spring几乎成为了Java在企业级复杂应用开发的代名词,Spring简单的设计哲学和其完善的生态圈也给Java带来新的生命力!
所以,现在很多初学者,开始学习Java便接触Spring相关的内容,但是往往“欲速则不达”,在学习过程中遇到各种看都看不懂的问题,导致很多人认为Spring很难。
Spring 原理知识解析
Spring视频教程,全面深度讲解spring5底层原理
000-Spring高级49讲-导学
001-第1讲-BeanFactory与ApplicationContext_1
002-第1讲-BeanFactory功能
003-第1讲-ApplicationContext功能1
004-第1讲-ApplicationContext功能2,3
005-第1讲-ApplicationContext功能4
006-第1讲-小结
007-第2讲-BeanFactory实现
008-第2讲-BeanFactory实现
009-第2讲-BeanFactory实现-后处理器排序
010-第2讲-ApplicationContext实现1,2
011-第2讲-ApplicationContext实现3
012-第2讲-ApplicationContext实现4
013-第3讲-bean生命周期
014-第3讲-模板方法
015-第4讲-常见bean后处理器1,2
016-第4讲-常见bean后处理器3
017-第4讲-@Autowired bean后处理器执行分析
018-第4讲-@Autowired bean后处理器执行分析
019-第5讲-常见工厂后处理器
020-第5讲-工厂后处理器模拟实现-组件扫描
021-第5讲-工厂后处理器模拟实现-组件扫描
022-第5讲-工厂后处理器模拟实现-@Bean
023-第5讲-工厂后处理器模拟实现-Mapper
024-第5讲-工厂后处理器模拟实现-Mapper
025-第6讲-Aware与InitializingBean接口
026-第6讲-@Autowired失效分析
027-第7讲-初始化与销毁
028-第8讲-Scope
029-第8讲-Scope失效解决1,2
030-第8讲-Scope失效解决3,4
031-第9讲-aop之ajc增强
032-第10讲-aop之agent增强
033-第11讲-aop之proxy增强-jdk
034-第11讲-aop之proxy增强-cglib
035-第12讲-jdk代理原理
036-第12讲-jdk代理原理
037-第12讲-jdk代理源码
038-第12讲-jdk代理字节码生成
039-第12讲-jdk反射优化
040-第13讲-cglib代理原理
041-第13讲-cglib代理原理-MethodProxy
042-第14讲-MethodProxy原理
043-第14讲-MethodProxy原理
044-第15讲-Spring选择代理
045-第15讲-Spring选择代理
046-第15讲-Spring选择代理
047-第16讲-切点匹配
048-第16讲-切点匹配
049-第17讲-Advisor与@Aspect
050-第17讲-findEligibleAdvisors
051-第17讲-wrapIfNecessary
052-第17讲-代理创建时机
053-第17讲-吐槽@Order
054-第17讲-高级切面转低级切面
055-第18讲-统1转换为环绕通知
056-第18讲-统1转换为环绕通知
057-第18讲-适配器模式
058-第18讲-调用链执行
059-第18讲-模拟实现调用链
060-第18讲-模拟实现调用链-责任链模式
061-第19讲-动态通知调用
062-第19讲-动态通知调用
063-第20讲-DispatcherServlet初始化时机
064-第20讲-DispatcherServlet初始化时机
065-第20讲-DispatcherServlet初始化执行的操作
066-第20讲-RequestMappingHandlerMapping
067-第20讲-RequestMappingHandlerAdapter
068-第20讲-RequestMappingHandlerAdapter-参数和返回值解析器
069-第20讲-RequestMappingHandlerAdapter-自定义参数解析器
070-第20讲-RequestMappingHandlerAdapter-自定义返回值解析器
071-第21讲-参数解析器-准备
072-第21讲-参数解析器-准备
073-第21讲-参数解析器-@RequestParam 0-4
074-第21讲-参数解析器-组合模式
075-第21讲-参数解析器 5-9
076-第21讲-参数解析器 10-12
077-第22讲-获取参数名
078-第22讲-获取参数名
079-第23讲-两套底层转换接口
080-第23讲-1套高层转换接口
081-第23讲-类型转换与数据绑定演示
082-第23讲-web环境下数据绑定演示
083-第23讲-绑定器工厂
084-第23讲-绑定器工厂-@InitBinder扩展
085-第23讲-绑定器工厂-ConversionService扩展
086-第23讲-绑定器工厂-默认ConversionService
087-第23讲-加餐-如何获取泛型参数
088-第24讲-@ControllerAdvice-@InitBinder
089-第24讲-@ControllerAdvice-@InitBinder
090-第25讲-控制器方法执行流程
091-第25讲-控制器方法执行流程
092-第25讲-控制器方法执行流程-代码
093-第26讲-@ControllerAdvice-@ModelAttribute
094-第27讲-返回值处理器
095-第27讲-返回值处理器-1
096-第27讲-返回值处理器-2-4
097-第27讲-返回值处理器-5-7
098-第28讲-MessageConverter
099-第28讲-MessageConverter
100-第29讲-@ControllerAdvice-ResponseBodyAdvice
101-第29讲-@ControllerAdvice-ResponseBodyAdvice
102-第30讲-异常处理
103-第30讲-异常处理
104-第31讲-@ControllerAdvice-@ExceptionHandler
105-第32讲-tomcat异常处理
106-第32讲-tomcat异常处理-自定义错误地址
107-第32讲-tomcat异常处理-BasicErrorController
108-第32讲-tomcat异常处理-BasicErrorController
109-第33讲-HandlerMapping与HandlerAdapter-1
110-第33讲-HandlerMapping与HandlerAdapter-自定义
111-第34讲-HandlerMapping与HandlerAdapter-2
112-第35讲-HandlerMapping与HandlerAdapter-3
113-第35讲-HandlerMapping与HandlerAdapter-3-优化
114-第35讲-HandlerMapping与HandlerAdapter-3-优化
115-第35讲-HandlerMapping与HandlerAdapter-4-欢迎页
116-第35讲-HandlerMapping与HandlerAdapter-总结
117-第36讲-MVC执行流程
118-第36讲-MVC执行流程
119-第37讲-构建boot骨架项目
120-第38讲-构建boot war项目
121-第38讲-构建boot war项目-用外置tomcat测试
122-第38讲-构建boot war项目-用内嵌tomcat测试
123-第39讲-boot执行流程-构造
124-第39讲-boot执行流程-构造-1
125-第39讲-boot执行流程-构造-2
126-第39讲-boot执行流程-构造-3
127-第39讲-boot执行流程-构造-4-5
128-第39讲-boot执行流程-run-1
129-第39讲-boot执行流程-run-1
130-第39讲-boot执行流程-run-8-11
131-第39讲-boot执行流程-run-2,12
132-第39讲-boot执行流程-run-3
133-第39讲-boot执行流程-run-4
134-第39讲-boot执行流程-run-5
135-第39讲-boot执行流程-run-5
136-第39讲-boot执行流程-run-6
137-第39讲-boot执行流程-run-7
138-第39讲-boot执行流程-小结
139-第40讲-Tomcat重要组件
140-第40讲-内嵌Tomcat
141-第40讲-内嵌Tomcat与Spring整合
142-第41讲-自动配置类原理
143-第41讲-自动配置类原理
144-第41讲-AopAutoConfiguration
145-第41讲-AopAutoConfiguration
146-第41讲-自动配置类2-4概述
147-第41讲-自动配置类2-DataSource
148-第41讲-自动配置类3-MyBatis
149-第41讲-自动配置类3-mapper扫描
150-第41讲-自动配置类4-事务
151-第41讲-自动配置类5-MVC
152-第41讲-自定义自动配置类
153-第42讲-条件装配底层1
154-第42讲-条件装配底层2
155-第43讲-FactoryBean
156-第44讲-@Indexed
157-第45讲-Spring代理的特点
158-第45讲-Spring代理的特点
159-第46讲-@Value注入底层1
160-第46讲-@Value注入底层2
161-第47讲-@Autowired注入底层-doResolveDependency外1
162-第47讲-@Autowired注入底层-doResolveDependency外2
163-第47讲-@Autowired注入底层-doResolveDependency内1
164-第47讲-@Autowired注入底层-doResolveDependency内2
165-第47讲-@Autowired注入底层-doResolveDependency内3
166-第47讲-@Autowired注入底层-doResolveDependency内4
167-第48讲-事件监听器1
168-第48讲-事件监听器2
169-第48讲-事件监听器3
170-第48讲-事件监听器4
171-第48讲-事件监听器5
172-第49讲-事件发布器1
173-第49讲-事件发布器2
版权归原作者 是一只萨摩耶 所有, 如有侵权,请联系我们删除。