1.Spring框架的优点
(1)非侵入式设计、降低耦合性,方便开发、支持AOP编程、支持声明式事务、方便程序的测试、方便集成各种优秀框架和降低Java EE API的使用难度。
(2)控制反转(Inversion of Control,缩写为IoC)是面向对象编程中的一个设计原则,用来降低程序代码之间的耦合度。控制反转就是指在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转。
2.依赖注入
依赖注入(Dependency Inject,缩写DI)就是由IoC容器在运行期间动态地将某种依赖资源注入对象之中。例如,将对象B注入(赋值)给对象A的成员变量。依赖注入的基本思想是:明确地定义组件接口,独立开发各个组件,然后根据组件的依赖关系组装运行。
3.XML配置文件的根元素是<beans>中的常用元素及作用
- id:id属性是<bean>元素的唯一标识符,Spring容器对Bean的配置和管理通过id属性完成,装配Bean时也需要根据id值获取对象。
- name:name属性可以为Bean指定多个名称,每个名称之间用逗号或分号隔开。
- class:class属性可以指定Bean的具体实现类,其属性值为对象所属类的全路径。
- scope:scope属性用于设定Bean实例的作用范围,其属性值有:singleton(单例)、prototype(原型)、request、session和global session。
4. Bean的几种装配方式
Bean中主要包含三种装配方式,基于XML的装配,基于Annotation的装配和自动装配。
5.Spring AOP的术语并解释
(1)切面(Aspect):切面是指关注点形成的类(关注点是指类中重复的代码),通常是指封装的、用于横向插入系统的功能类(如事务管理、日志记录等)。
(2)连接点(Joinpoint):连接点是程序执行过程中某个特定的节点,在Spring AOP中,一个连接点通常是一个方法的执行。
(3)切入点(Pointcut):当某个连接点满足预先指定的条件时,AOP就能够定位到这个连接点,在连接点处插入切面,该连接点也就变成了切入点。
(4)通知/增强处理(Advice):通知/增强处理就是插入的切面程序代码。可以将通知/增强处理理解为切面中的方法,它是切面的具体实现。
(5)目标对象(Target):目标对象是指被插入切面的方法。
(6)织入(Weaving):将切面代码插入到目标对象上,从而生成代理对象的过程。
(7)代理(Proxy):将通知应用到目标对象之后,程序动态创建的通知对象,就称为代理。
(8)引介(Introduction):引介是一种特殊的通知,它为目标对象添加一些属性和方法。这样,即使一个业务类原本没有实现某一个接口,通过AOP的引介功能,也可以动态地为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。
6.AOP实现中Spring提供的注解并解释其作用
@Aspect:配置切面,@Pointcut:配置切点,@Before:配置前置通知,@After:配置后置通知,@Around:配置环绕方式,@AfterReturning:配置返回通知,@AfterThrowing:配置异常通知.
7.抽象类JdbcAccessor提供的一些访问数据库时使用的公共属性。
DataSource:DataSource主要功能是获取数据库连接。在具体的数据操作中,DataSource还可以提供对数据库连接的缓冲池和分布式事务的支持。
SQLExceptionTranslator:SQLExceptionTranslator接口负责对SQLException异常进行转译工作。通过必要的设置或者调用SQLExceptionTranslator接口中的方法,JdbcTemplate可以将SQLException的转译工作委托给SQLExceptionTranslator的实现类来完成。