Spring篇
Spring
目录
1.1.14-ApplicationContext的加载方式
1.1.16-Spring 基于 xml 注入 bean 4种方式
1.1.19-@Autowired注解和@Resource的区别
1.1.1-什么是框架
在我看来的话,框架可能会更加的像一个通用的工具,它可以直接拿来使用简化我们一些结构,步骤,我们可以更具自己项目的拓展添加更多的组成部分,更加快速的提高生产力
例如我们需要做饭,首先要有材米油盐,框架就像是把材米油盐打包成了一个工具箱,我们每次做饭的时候就不用到超时购买,可以直接打开这个工具箱,获取到需要的材料
1.1.2-什么是Spring
Spring 是一个轻量级的 IoC 和 AOP 容器框架。是为 Java 应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于 XML 的配置、基于注解的配置、基于 Java 的配置。
主要模块:
-
Spring Core:核心类库,提供 IOC 服务;
-
Spring Context:提供框架式的 Bean 访问方式,以及企业级功能(JNDI、定时任务等);
-
Spring AOP:提供AOP 服务;
-
Spring DAO:对 JDBC 的抽象,简化了数据访问异常的处理;
-
Spring ORM:对现有的 ORM 框架的支持;
-
Spring Web:提供了基本的面向 Web 的综合特性,例如多方文件上传;
-
Spring MVC:提供面向 Web 应用的 Model-View-Controller 实现。
1.1.3-Spring-IOC
Ioc就是指的控制反转,将创建对象的控制权转移,我们之前创建一个对象的时候都是由自己去new一个对象的,完全是自己去把控,有了Spring之后,就可以交给Spring进行控制管理,同时解除了接口和实现的耦合性。
核心原理:配置文件+反射(工厂也可以)+容器
DI 依赖注入,和控制反转是同一个概念的不同角度的描述,即 应用程序在运行时依赖 IoC 容器来动态注入对象需要的外部资源。
1.1.4-DI依赖注入
和控制反转是同一个概念的不同角度的描述,即应用程序在运行时依赖 IoC 容器来动态注入对象需要的外部资源。
1.1.5-Spring 的 IOC 有三种注入方式
- 构造器注入
- setter 方法注入
- 注解注入
1.1.6-Spring-AOP
AOP是面向切面,作为面向对象的一种补充。主要适用于和一些业务无关但是对多个对象产生影响的公共行为和逻辑,封装成一个可以重复利用的模块,这个模块被称为切面。一般用于权限处理,权限判断,日志,事务等非主要业务逻辑的事情。
1.1.7-AOP术语
-
连接点( Joinpoint ):可以被增强的方法都可以成为连接点
-
切点( Pointcut ):真正被拦截到的点
-
增强( Advice ):拦截后要做的事情,对方法增加权限的校验等
-
目标对象(Target):要被增强的对象
-
引介(Introduction)
-
织入(Weaving):指advice应用到target的过程
-
代理(Proxy)
-
切面(Aspect)
博主之前写过的文章,有对AOP术语详细的介绍:AOP
1.1.8-AOP的底层
底层是采用JDK动态代理和CGLIB动态代理实现的
博主之前写过的文章,有对AOP术语详细的介绍:AOP
1.1.9-Spring 的两大核心
- IOC
- AOP